flash as3的单选框RadioButtonGroup的使用

RadioButtonGroup
 
<script language="javascript" type="text/javascript"> </script>
fl.controls
public class RadioButtonGroup
继承RadioButtonGroup Inheritance EventDispatcher Inheritance Object

 

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

 

 

RadioButtonGroup 类将一组 RadioButton 组件定义为单个组件。 选中一个单选按钮后,不能再选中同一组中的其它单选按钮。

 

查看示例

另请参见



公共 属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  name : String
[read-only] 获取单选按钮的实例名称。
RadioButtonGroup
  numRadioButtons : int
[read-only] 获取此单选按钮组中的单选按钮数。
RadioButtonGroup
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
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
  
[static] 检索对指定单选按钮组的引用。
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
setPropertyIsEnumerable(name: String, isEnum: Boolean = true): void
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件摘要定义方
 Inherited Flash Player 获得操作系统焦点并变为活动状态时调度。EventDispatcher
   当组内的选定 RadioButton 实例发生变化时调度。RadioButtonGroup
   当单击 RadioButton 实例时调度。RadioButtonGroup
 Inherited Flash Player 失去操作系统焦点并变为非活动状态时调度。EventDispatcher
<script language="javascript" type="text/javascript"> </script>
属性详细信息
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

示例
如何使用示例

下例创建一个新的 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  [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 属性值。

此事件具有以下属性:

属性
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 property = flash.events.MouseEvent.CLICK

 

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

 

当单击 RadioButton 实例时调度。

定义 click 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblestrue
buttonDown如果按下鼠标主按键,则为 true;否则为 false
cancelablefalse;没有要取消的默认行为。
ctrlKey如果 Ctrl 键处于活动状态,则为 true;如果处于非活动状态,则为 false
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
localX事件发生点的相对于包含 Sprite 的水平坐标。
localY事件发生点的相对于包含 Sprite 的垂直坐标。
shiftKey如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false
stageX事件发生点在全局舞台坐标中的水平坐标。
stageY事件发生点在全局舞台坐标中的垂直坐标。
target指针设备下的 InteractiveObject 实例。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

此示例演示了如何管理若干组的多个 RadioButton 实例。

若要运行该示例,请按照下列步骤操作:

  1. 将 RadioButton 和 Label 组件添加到库中。
  2. 将该代码作为 RadioButtonGroupExample.as 另存到 FLA 文件所在的同一目录中。
  3. 将 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;            
        }
    }
}  
可以将查询结果列表展示到一个单选框组件中。具体的实现步骤如下: 创建一个单选框组件,可以使用 flex 自带的 RadioButtonGroup 组件或者自定义单选框组件。 将查询结果列表绑定到单选框组件的dataProvider属性上。例如: 复制 <s:RadioButtonGroup id="radioGroup" dataProvider="{queryResultList}" /> 在单选框组件中设置 labelFunction 属性,用于指定每个单选框的显示文本。例如: 复制 <s:RadioButtonGroup id="radioGroup" dataProvider="{queryResultList}" labelFunction="getResultLabel" /> 其中 getResultLabel 是一个自定义的函数,用于返回每个单选框的显示文本。 在 getResultLabel 函数中,根据查询结果列表中的数据,构造每个单选框的显示文本。例如: 复制 private function getResultLabel(item:Object):String { return item.name + " - " + item.value; } 上述代码中,假设查询结果列表中每个元素都有 name 和 value 两个属性,getResultLabel 函数将这两个属性拼接起来作为每个单选框的显示文本。 最后,为单选框组件添加事件监听器,用于在用户选择单选框时执行相应的操作。例如: 复制 <s:RadioButtonGroup id="radioGroup" dataProvider="{queryResultList}" labelFunction="getResultLabel" change="onRadioChange(event)" /> 上述代码中,onRadioChange 函数是一个自定义的事件处理函数,用于响应单选框选择事件并执行相应的操作。选中之后要保存,onRadioChange(event)要怎么写
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值