Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Класс RadioButtonGroup определяет группу компонентов RadioButton, которые будут вести себя как один компонент. Если выделен один переключатель, то другие переключатели из той же группы выделить не удастся.
Посмотреть примеры
name:String
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Определяет имя экземпляра кнопки-переключателя.
Значение по умолчанию "RadioButtonGroup"
Реализация public function get name():String
numRadioButtons:int
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Определяет число переключателей в данной группе.
Значение по умолчанию 0
Реализация public function get numRadioButtons():int
selectedData:Object
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 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:RadioButton
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 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 + ")");
}
public function RadioButtonGroup(name:String)
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Создает новый экземпляр класса RadioButtonGroup. Обычно это происходит автоматически при создании экземпляра переключателя.
Параметры | name:String — Имя группы переключателей.
|
public function addRadioButton(radioButton:RadioButton):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Добавляет переключатель во внутренний массив для использования с индексированием группы кнопок-переключателей, что позволяет выбирать один переключатель в группе. Этот метод используется переключателями автоматически. Но им также можно воспользоваться и вручную, чтобы добавить переключатель в группу явным образом.
Параметры
| radioButton:RadioButton — Экземпляр RadioButton, который необходимо добавить в группу переключателей.
|
public static function getGroup(name:String):RadioButtonGroup
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Возвращает ссылку на указанную группу переключателей.
Параметры
| name:String — Имя группы, для которой извлекается ссылка.
|
Возвращает Пример В следующем примере демонстрируется, как определить, какой переключатель в группе выделен:
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);
}
public function getRadioButtonAt(index:int):RadioButton
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Возвращает компонент RadioButton в заданном положении указателя.
Параметры
| index:int — Индекс компонента RadioButton в компоненте RadioButtonGroup, где индекс первого компонента равен 0.
|
ВозвращаетВыдает | RangeError — Указанный индекс меньше 0, либо больше или равен длине поставщика данных.
|
public function getRadioButtonIndex(radioButton:RadioButton):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Возвращает положение индекса для заданного экземпляра RadioButton.
Параметры
| radioButton:RadioButton — Экземпляр RadioButton, который необходимо найти в текущем компоненте RadioButtonGroup.
|
Возвращает | int — Индекс указанного компонента RadioButton, либо "-1", если указанный компонент не найден.
|
public function removeRadioButton(radioButton:RadioButton):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Удаляет экземпляр RadioButton из внутреннего списка переключателей.
Параметры
| radioButton:RadioButton — Удаляемый экземпляр RadioButton.
|
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.CHANGE
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Отправляется, когда изменяется выбранный экземпляр RadioButton в группе.
Константа
Event.CHANGE
определяет значение свойства
type
объекта события
change
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|
bubbles | true |
cancelable | false ; нет поведения по умолчанию для отмены. |
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;
}
}
Тип объекта события: flash.events.MouseEvent
свойство MouseEvent.type = flash.events.MouseEvent.CLICK
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Отправляется, когда пользователь щелкает экземпляр RadioButton.
Задает значение свойства
type
для объекта события
click
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|
bubbles | true |
buttonDown | true , если нажата основная кнопка мыши; иначе — false . |
cancelable | false ; нет поведения по умолчанию для отмены. |
ctrlKey | true , если клавиша Control активна; иначе — false . |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
localX | Горизонтальная координата события относительно спрайта-контейнера. |
localY | Вертикальная координата события относительно спрайта-контейнера. |
shiftKey | true , если клавиша Shift активна; иначе — false . |
stageX | Горизонтальная координата события в глобальных координатах рабочей области. |
stageY | Вертикальная координата события в глобальных координатах рабочей области. |
target | Объект InteractiveObject под указателем. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget , чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент. |
В этом примере демонстрируется управление несколькими объектами RadioButton из более чем одной группы:
- Добавьте компоненты RadioButton и Label в свою библиотеку.
- Сохраните этот код под именем RadioButtonGroupExample.as в том же каталоге, где и FLA-файл.
- Присвойте параметру 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;
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00