包 | fl.controls |
类 | public class RadioButtonGroup |
继承 | RadioButtonGroup EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
相关 API 元素
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
name : String [只读]
获取单选按钮的实例名称。 | RadioButtonGroup | ||
numRadioButtons : int [只读]
获取此单选按钮组中的单选按钮数。 | RadioButtonGroup | ||
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 | ||
[静态]
检索对指定单选按钮组的引用。 | RadioButtonGroup | ||
检索指定索引位置的 RadioButton 组件。 | RadioButtonGroup | ||
返回指定 RadioButton 实例的索引。 | RadioButtonGroup | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
从内部单选按钮列表中清除 RadioButton 实例。 | RadioButtonGroup | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
事件
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
当组内的选定 RadioButton 实例发生变化时调度。 | RadioButtonGroup | |||
当单击 RadioButton 实例时调度。 | RadioButtonGroup | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher |
属性详细信息
name | 属性 |
numRadioButtons | 属性 |
selectedData | 属性 |
selectedData:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.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 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.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 | () | 构造函数 |
方法详细信息
addRadioButton | () | 方法 |
public function addRadioButton(radioButton:RadioButton):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
向内部单选按钮数组添加一个单选按钮,以用于单选按钮组索引,这样可允许在单选按钮组中单独选择一个单选按钮。 此方法由单选按钮自动应用,但是也可以手动使用此方法将单选按钮明确添加到组中。
参数
radioButton:RadioButton — 要添加到当前单选按钮组的 RadioButton 实例。
|
getGroup | () | 方法 |
public static function getGroup(name:String):RadioButtonGroup
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.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 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
检索指定索引位置的 RadioButton 组件。
参数
index:int — RadioButtonGroup 组件中的 RadioButton 组件的索引,其中第一个组件的索引为 0。
|
RadioButton — 指定的 RadioButton 组件。
|
引发
RangeError — 指定的索引小于 0 或大于等于数据提供程序的长度。
|
getRadioButtonIndex | () | 方法 |
public function getRadioButtonIndex(radioButton:RadioButton):int
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
返回指定 RadioButton 实例的索引。
参数
radioButton:RadioButton — 要在当前 RadioButtonGroup 中查找的 RadioButton 实例。
|
int — 指定 RadioButton 组件的索引;如果找不到指定 RadioButton,则为 -1。
|
removeRadioButton | () | 方法 |
public function removeRadioButton(radioButton:RadioButton):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
从内部单选按钮列表中清除 RadioButton 实例。
参数
radioButton:RadioButton — 要删除的 RadioButton 实例。
|
事件详细信息
change | 事件 |
事件对象类型:
属性 Event.type =
示例 ( 如何使用本示例 )
flash.events.Event
属性 Event.type =
flash.events.Event.CHANGE
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
当组内的选定 RadioButton 实例发生变化时调度。
Event.CHANGE
常量定义 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 | 事件 |
事件对象类型:
属性 MouseEvent.type =
flash.events.MouseEvent
属性 MouseEvent.type =
flash.events.MouseEvent.CLICK
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
当单击 RadioButton 实例时调度。
定义click
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
altKey | 如果 Alt 键处于活动状态,则为 true (Windows)。 |
bubbles | true |
buttonDown | 对于单击事件,此值始终为 false 。 |
cancelable | false ;没有要取消的默认行为。 |
commandKey | 在 Mac 中,如果 Command 键处于活动状态,则为 true ;如果处于非活动状态,则为 false 。在 Windows 中始终为 false 。 |
controlKey | 如果 Ctrl 或 Control 键处于活动状态,则为 true ,如果处于非活动状态,则为 false 。 |
ctrlKey | 在 Windows 或 Linux 中,如果 Ctrl 键处于活动状态,则为 true 。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true 。否则为 false 。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
localX | 禁用鼠标锁定时,事件发生点相对于所属 Sprite 的水平坐标。 |
localY | 禁用鼠标锁定时,事件发生点相对于所属 Sprite 的垂直坐标。 |
movementX | 启用鼠标锁定时,自上一次鼠标事件以来鼠标位置的水平坐标的更改。 |
movementY | 启用鼠标锁定时,自上一次鼠标事件以来鼠标位置的垂直坐标的更改。 |
shiftKey | 如果 Shift 键处于活动状态,则为 true ;如果处于非活动状态,则为 false 。 |
stageX | 事件发生点在全局舞台坐标中的水平坐标。 |
stageY | 事件发生点在全局舞台坐标中的垂直坐标。 |
target | 指针设备下的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。 |
示例 如何使用本示例
RadioButtonGroupExample.as
此示例演示如何管理跨越若干组的多个 RadioButton 对象。
- 将 RadioButton 和 Label 组件添加到库中。
- 将该代码作为 RadioButtonGroupExample.as 另存到 FLA 文件所在的同一目录中。
- 将 FLA 中的 DocumentClass 设置为 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; } } }
Tue Jun 12 2018, 11:04 AM Z