Главная / Action Script 3
Пакетfl.controls
Классpublic class RadioButtonGroup
НаследованиеRadioButtonGroup Inheritance EventDispatcher Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Класс RadioButtonGroup определяет группу компонентов RadioButton, которые будут вести себя как один компонент. Если выделен один переключатель, то другие переключатели из той же группы выделить не удастся.

Посмотреть примеры

См. также

RadioButton
RadioButton.group


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  name : String
[только для чтения] Определяет имя экземпляра кнопки-переключателя.
RadioButtonGroup
  numRadioButtons : int
[только для чтения] Определяет число переключателей в данной группе.
RadioButtonGroup
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  selectedData : Object
Определяет или задает свойство value выделенного переключателя.
RadioButtonGroup
  selection : RadioButton
Определяет или задает ссылку на переключатель, который в данный момент выбран в группе переключателей.
RadioButtonGroup
Общедоступные методы
 МетодОпределено
  
Создает новый экземпляр класса RadioButtonGroup.
RadioButtonGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
  
Добавляет переключатель во внутренний массив для использования с индексированием группы кнопок-переключателей, что позволяет выбирать один переключатель в группе.
RadioButtonGroup
 Inherited
Передает событие в поток событий.
EventDispatcher
  
[статические] Возвращает ссылку на указанную группу переключателей.
RadioButtonGroup
  
Возвращает компонент RadioButton в заданном положении указателя.
RadioButtonGroup
  
Возвращает положение индекса для заданного экземпляра RadioButton.
RadioButtonGroup
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
  
Удаляет экземпляр RadioButton из внутреннего списка переключателей.
RadioButtonGroup
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
  Отправляется, когда изменяется выбранный экземпляр RadioButton в группе.RadioButtonGroup
  Отправляется, когда пользователь щелкает экземпляр RadioButton.RadioButtonGroup
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
Сведения о свойстве
nameсвойство
name:String  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Определяет имя экземпляра кнопки-переключателя.

Значение по умолчанию "RadioButtonGroup"



Реализация
    public function get name():String
numRadioButtonsсвойство 
numRadioButtons:int  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Определяет число переключателей в данной группе.

Значение по умолчанию 0



Реализация
    public function get numRadioButtons():int
selectedDataсвойство 
selectedData:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Определяет или задает свойство value выделенного переключателя. Если в данный момент не выбран ни один переключатель, этому свойству присваивается значение null.



Реализация
    public function get selectedData():Object
    public function set selectedData(value:Object):void

Пример
В следующем примере создается новый компонент RadioButtonGroup и выполняется прослушивание события change:

import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;

var myRadioGroup:RadioButtonGroup = new RadioButtonGroup("options");
myRadioGroup.addEventListener(Event.CHANGE, changeHandler);

var radio1:RadioButton = new RadioButton();
radio1.label = "Option A";
radio1.value = "optionA";
radio1.group = myRadioGroup;
radio1.move(10, 10);
addChild(radio1);

var radio2:RadioButton = new RadioButton();
radio2.label = "Option B";
radio2.value = "optionB";
radio2.group = myRadioGroup;
radio2.move(10, 30);
addChild(radio2);

var radio3:RadioButton = new RadioButton();
radio3.label = "Option C";
radio3.value = "optionC";
radio3.group = myRadioGroup;
radio3.move(10, 50);
addChild(radio3);

function changeHandler(event:Event):void {
    var rbg:RadioButtonGroup = event.target as RadioButtonGroup;
    if (rbg.selectedData != null) {
        trace(rbg.selectedData);
    } else {
        trace("no value specified.");
    }
}
selectionсвойство 
selection:RadioButton  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Определяет или задает ссылку на переключатель, который в данный момент выбран в группе переключателей.



Реализация
    public function get selection():RadioButton
    public function set selection(value:RadioButton):void

Пример
В следующем примере создается новая группа переключателей, которая содержит два переключателя. Когда выделенный в данный момент переключатель изменяется, отслеживаются метка и значение выделенного переключателя:

import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;

var radioGroup:RadioButtonGroup = new RadioButtonGroup("rbg");
radioGroup.addEventListener(Event.CHANGE, changeHandler);

var radio1:RadioButton = new RadioButton();
radio1.group = radioGroup;
radio1.label = "Option A";
radio1.value = 1;
radio1.move(10, 10);
addChild(radio1);

var radio2:RadioButton = new RadioButton();
radio2.group = radioGroup;
radio2.label = "Option B";
radio2.value = 2;
radio2.move(10, 30);
addChild(radio2);

function changeHandler(event:Event):void {
    var rg:RadioButtonGroup = event.currentTarget as RadioButtonGroup;
    trace("change:", rg.selection.label, "(" + rg.selectedData + ")");
}
Сведения о конструкторе
RadioButtonGroup()Конструктор
public function RadioButtonGroup(name:String)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Создает новый экземпляр класса RadioButtonGroup. Обычно это происходит автоматически при создании экземпляра переключателя.

Параметры
name:String — Имя группы переключателей.
Сведения о методе
addRadioButton()метод
public function addRadioButton(radioButton:RadioButton):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Добавляет переключатель во внутренний массив для использования с индексированием группы кнопок-переключателей, что позволяет выбирать один переключатель в группе. Этот метод используется переключателями автоматически. Но им также можно воспользоваться и вручную, чтобы добавить переключатель в группу явным образом.

Параметры

radioButton:RadioButton — Экземпляр RadioButton, который необходимо добавить в группу переключателей.

getGroup()метод 
public static function getGroup(name:String):RadioButtonGroup

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Возвращает ссылку на указанную группу переключателей.

Параметры

name:String — Имя группы, для которой извлекается ссылка.

Возвращает
RadioButtonGroup — Ссылка на указанный компонент RadioButtonGroup.

Пример

В следующем примере демонстрируется, как определить, какой переключатель в группе выделен:

import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;

var rbg1:RadioButtonGroup = new RadioButtonGroup("group1");

var rb1:RadioButton = new RadioButton();
rb1.label = "Choice A";
rb1.group = rbg1;
rb1.move(10, 10);
rb1.addEventListener(MouseEvent.CLICK, announceCurrentGroup);
addChild(rb1);

var rb2:RadioButton = new RadioButton();
rb2.label = "Choice B";
rb2.group = rbg1;
rb2.move(10, 30);
rb2.addEventListener(MouseEvent.CLICK, announceCurrentGroup);
addChild(rb2);

function announceCurrentGroup(e:MouseEvent):void {
    var group:RadioButtonGroup = RadioButtonGroup.getGroup("group1");
    trace("The currently selected radio button is: " + group.selection.label);
}
getRadioButtonAt()метод 
public function getRadioButtonAt(index:int):RadioButton

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Возвращает компонент RadioButton в заданном положении указателя.

Параметры

index:int — Индекс компонента RadioButton в компоненте RadioButtonGroup, где индекс первого компонента равен 0.

Возвращает
RadioButton — Указанный компонент RadioButton.

Выдает
RangeError — Указанный индекс меньше 0, либо больше или равен длине поставщика данных.
getRadioButtonIndex()метод 
public function getRadioButtonIndex(radioButton:RadioButton):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Возвращает положение индекса для заданного экземпляра RadioButton.

Параметры

radioButton:RadioButton — Экземпляр RadioButton, который необходимо найти в текущем компоненте RadioButtonGroup.

Возвращает
int — Индекс указанного компонента RadioButton, либо "-1", если указанный компонент не найден.
removeRadioButton()метод 
public function removeRadioButton(radioButton:RadioButton):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Удаляет экземпляр RadioButton из внутреннего списка переключателей.

Параметры

radioButton:RadioButton — Удаляемый экземпляр RadioButton.

Сведения о событии
change Событие
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.CHANGE

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Отправляется, когда изменяется выбранный экземпляр RadioButton в группе.

Константа Event.CHANGE определяет значение свойства type объекта события change.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblestrue
cancelablefalse; нет поведения по умолчанию для отмены.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, значение которого было изменено. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget, чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент.

Пример

В следующем примере создаются три переключателя и добавляется прослушиватель событий для события change группы переключателей:

import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;

var myRadioGroup:RadioButtonGroup = new RadioButtonGroup("options");
myRadioGroup.addEventListener(Event.CHANGE, changeHandler);

var radio1:RadioButton = new RadioButton();
radio1.label = "Option A";
radio1.group = myRadioGroup;
radio1.move(10, 10);
addChild(radio1);

var radio2:RadioButton = new RadioButton();
radio2.label = "Option B";
radio2.group = myRadioGroup;
radio2.move(10, 30);
addChild(radio2);

var radio3:RadioButton = new RadioButton();
radio3.label = "Option C";
radio3.group = myRadioGroup;
radio3.move(10, 50);
addChild(radio3);

function changeHandler(event:Event):void {
    var rg:RadioButtonGroup = event.target as RadioButtonGroup;
    switch (rg.selection) {
        case radio1:
            trace("radio1");
            break;
        case radio2:
            trace("radio2");
            break;
        case radio3:
            trace("radio3");
            break;
    }
}
click Событие  
Тип объекта события: flash.events.MouseEvent
свойство MouseEvent.type = flash.events.MouseEvent.CLICK

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Отправляется, когда пользователь щелкает экземпляр RadioButton.

Задает значение свойства type для объекта события click.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblestrue
buttonDowntrue, если нажата основная кнопка мыши; иначе — false.
cancelablefalse; нет поведения по умолчанию для отмены.
ctrlKeytrue, если клавиша Control активна; иначе — false.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
localXГоризонтальная координата события относительно спрайта-контейнера.
localYВертикальная координата события относительно спрайта-контейнера.
shiftKeytrue, если клавиша Shift активна; иначе — false.
stageXГоризонтальная координата события в глобальных координатах рабочей области.
stageYВертикальная координата события в глобальных координатах рабочей области.
targetОбъект InteractiveObject под указателем. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget, чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент.
Примеры Как пользоваться примерами
RadioButtonGroupExample.as

В этом примере демонстрируется управление несколькими объектами RadioButton из более чем одной группы:
  1. Добавьте компоненты RadioButton и Label в свою библиотеку.
  2. Сохраните этот код под именем RadioButtonGroupExample.as в том же каталоге, где и FLA-файл.
  3. Присвойте параметру DocumentClass в FLA-файле значение RadioButtonGroupExample.
package
{
    import flash.text.TextFieldAutoSize;
    import flash.display.Sprite;
    import flash.events.Event;
    import fl.controls.RadioButton;
    import fl.controls.RadioButtonGroup;
    import fl.controls.Label;
    
    public class RadioButtonGroupExample extends Sprite
    {
        private var padding:uint = 10;
        private var currHeight:uint = 0;
        private var verticalSpacing:uint = 30;
        private var posX:uint;
        private var reportLabel:Label;
        
        public function RadioButtonGroupExample() {
            setupRadioButtons();
        }
        private function setupRadioButtons():void {
            reportLabel = new Label();
            reportLabel.move(10,150);
            reportLabel.autoSize = TextFieldAutoSize.LEFT;
            reportLabel.text = "Select a Radio Button";
            addChild(reportLabel);

            createRadioButtonGroup("1st Group");
            createRadioButtonGroup("2nd Group");
            createRadioButtonGroup("3rd Group");
            createRadioButtonGroup("4th Group");
        }
        private function createRadioButtonGroup(name:String):void {
            var rbg:RadioButtonGroup = new RadioButtonGroup(name);
            rbg.addEventListener(Event.CHANGE, announceChange);
            createRadioButton("1st Button", rbg, posX);
            createRadioButton("2nd Button", rbg, posX);
            createRadioButton("3rd Button", rbg, posX);
            createRadioButton("4th Button", rbg, posX);
            posX += 125;
            currHeight = 0;
        }
        private function createRadioButton(rbLabel:String,rbg:RadioButtonGroup,posX:uint):void {
            var rb:RadioButton = new RadioButton();
            rb.group = rbg;
            rb.label = rbLabel;
            rb.move(posX, padding + currHeight);
            addChild(rb);

            currHeight += verticalSpacing;
        }
        private function announceChange(e:Event):void {
            var rbg:RadioButtonGroup = e.target as RadioButtonGroup;
            var rb:RadioButton = rbg.selection;
            reportLabel.text = rbg.name + " has selected " + rb.label;            
        }
    }
}