| RadioButtonGroup | 属性 | 方法 | 事件 | 示例 |
| 包 | fl.controls |
| 类 | public class RadioButtonGroup |
| 继承 | RadioButtonGroup |
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
RadioButtonGroup 类将一组 RadioButton 组件定义为单个组件。 选中一个单选按钮后,不能再选中同一组中的其它单选按钮。
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
| constructor : Object
对类对象或给定对象实例的构造函数的引用。
| Object | ||
| name : String
[read-only] 获取单选按钮的实例名称。
| RadioButtonGroup | ||
| numRadioButtons : int
[read-only] 获取此单选按钮组中的单选按钮数。
| RadioButtonGroup | ||
| prototype : Object
[static] 对类或函数对象的原型对象的引用。
| Object | ||
| selectedData : Object
获取或设置所选单选按钮的 value 属性。
| RadioButtonGroup | ||
| selection : RadioButton
获取或设置对当前从单选按钮组中选择的单选按钮的引用。
| RadioButtonGroup | ||
| 方法 | 定义方 | ||
|---|---|---|---|
|
RadioButtonGroup(name:
String)
创建一个新的 RadioButtonGroup 实例。
| RadioButtonGroup | ||
|
addEventListener(type:
String, listener:
Function, useCapture:
Boolean = false, priority:
int = 0, useWeakReference:
Boolean = false):
void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
| EventDispatcher | ||
|
向内部单选按钮数组添加一个单选按钮,以用于单选按钮组索引,这样可允许在单选按钮组中单独选择一个单选按钮。
| RadioButtonGroup | ||
|
将事件调度到事件流中。
| EventDispatcher | ||
|
[static] 检索对指定单选按钮组的引用。
| RadioButtonGroup | ||
|
检索指定索引位置的 RadioButton 组件。
| RadioButtonGroup | ||
|
返回指定 RadioButton 实例的索引。
| RadioButtonGroup | ||
|
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | ||
|
指示对象是否已经定义了指定的属性。
| Object | ||
|
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | ||
|
指示指定的属性是否存在、是否可枚举。
| Object | ||
|
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | ||
|
从内部单选按钮列表中清除 RadioButton 实例。
| RadioButtonGroup | ||
|
设置循环操作动态属性的可用性。
| Object | ||
|
返回指定对象的字符串表示形式。
| Object | ||
|
返回指定对象的原始值。
| Object | ||
|
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
| EventDispatcher | ||
| 事件 | 摘要 | 定义方 | ||
|---|---|---|---|---|
| Flash Player 获得操作系统焦点并变为活动状态时调度。 | EventDispatcher | |||
| 当组内的选定 RadioButton 实例发生变化时调度。 | RadioButtonGroup | |||
| 当单击 RadioButton 实例时调度。 | RadioButtonGroup | |||
| Flash Player 失去操作系统焦点并变为非活动状态时调度。 | EventDispatcher | |||
| name | 属性 |
name:String [read-only]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取单选按钮的实例名称。
默认值为 "RadioButtonGroup".
实现
public function get name():String
| numRadioButtons | 属性 |
numRadioButtons:int [read-only]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取此单选按钮组中的单选按钮数。
默认值为 0.
实现
public function get numRadioButtons():int
| selectedData | 属性 |
selectedData:Object [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置所选单选按钮的 value 属性。 如果当前未选中任何单选按钮,则此属性为 null。
实现
public function get selectedData():Object
public function set selectedData(value:Object):void
示例
如何使用示例
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 [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | 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 + ")");
}
| RadioButtonGroup | () | 构造函数 |
public 函数 RadioButtonGroup(name:String)
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
创建一个新的 RadioButtonGroup 实例。 在实例化单选按钮时,通常自动执行此操作。
参数name:String — 单选按钮组的名称。 |
| addRadioButton | () | 方法 |
public function addRadioButton(radioButton:RadioButton):void
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
向内部单选按钮数组添加一个单选按钮,以用于单选按钮组索引,这样可允许在单选按钮组中单独选择一个单选按钮。 此方法由单选按钮自动应用,但是也可以手动使用此方法将单选按钮显式添加到组中。
参数
radioButton:RadioButton — 要添加到当前单选按钮组的 RadioButton 实例。 |
| getGroup | () | 方法 |
public static function getGroup(name:String):RadioButtonGroup
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 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 |
| Player 版本 : | Flash Player 9.0.28.0 |
检索指定索引位置的 RadioButton 组件。
参数
index:int — RadioButtonGroup 组件中的 RadioButton 组件的索引,其中第一个组件的索引为 0。 |
返回
RadioButton — 指定的 RadioButton 组件。 |
引发
RangeError — 指定的索引小于 0 或大于等于数据提供者的长度。 |
| getRadioButtonIndex | () | 方法 |
public function getRadioButtonIndex(radioButton:RadioButton):int
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
返回指定 RadioButton 实例的索引。
参数
radioButton:RadioButton — 要在当前 RadioButtonGroup 中查找的 RadioButton 实例。 |
返回
int — 指定 RadioButton 组件的索引;如果找不到指定 RadioButton,则为 -1。 |
| removeRadioButton | () | 方法 |
public function removeRadioButton(radioButton:RadioButton):void
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
从内部单选按钮列表中清除 RadioButton 实例。
参数
radioButton:RadioButton — 要删除的 RadioButton 实例。 |
| change | 事件 |
flash.events.Event
Event.type property =
flash.events.Event.CHANGE
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
当组内的选定 RadioButton 实例发生变化时调度。
定义change 事件对象的
type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
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;
}
}
| click | 事件 |
flash.events.MouseEvent
MouseEvent.type property =
flash.events.MouseEvent.CLICK
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
当单击 RadioButton 实例时调度。
定义click 事件对象的
type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
bubbles | true |
buttonDown | 如果按下鼠标主按键,则为 true;否则为 false。 |
cancelable | false;没有要取消的默认行为。 |
ctrlKey | 如果 Ctrl 键处于活动状态,则为 true;如果处于非活动状态,则为 false。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
localX | 事件发生点的相对于包含 Sprite 的水平坐标。 |
localY | 事件发生点的相对于包含 Sprite 的垂直坐标。 |
shiftKey | 如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false。 |
stageX | 事件发生点在全局舞台坐标中的水平坐标。 |
stageY | 事件发生点在全局舞台坐标中的垂直坐标。 |
target | 指针设备下的 InteractiveObject 实例。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。 |
若要运行该示例,请按照下列步骤操作:
- 将 RadioButton 和 Label 组件添加到库中。
- 将该代码作为 RadioButtonGroupExample.as 另存到 FLA 文件所在的同一目录中。
- 将 FLA 文件中的 Document 类设置为 RadioButtonGroupExample。
package
{
import fl.controls.Label;
import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextFieldAutoSize;
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;
}
}
}
本文介绍了RadioButtonGroup组件的功能和用法,包括其属性、方法和事件。RadioButtonGroup可以将多个RadioButton组件组织在一起,确保同一时间只能有一个RadioButton被选中。文中通过示例展示了如何创建和使用RadioButtonGroup。
1679

被折叠的 条评论
为什么被折叠?



