mx.controls
public class RadioButtonGroup
继承RadioButtonGroup Inheritance EventDispatcher Inheritance Object
实现 IMXMLObject

RadioButtonGroup 控件定义一组 RadioButton 控件,这些控件相互排斥;因此,用户每次只能选择一个 RadioButton 控件。使用 <mx:RadioButtonGroup> 标签定义组名称时需要使用 id 属性。

注意,RadioButtonGroup 控件是 EventDispatcher 的子类,而不是 UIComponent 的子类,并实现 IMXMLObject 接口。所有其它 Flex 可视组件是 UIComponent 的子类,该类实现 IUIComponent 接口。RadioButtonGroup 控件在 Flex 编译器中内置了一些支持,允许将 RadioButtonGroup 控件用作 Flex 容器的子项,即使该控件没有实现 IUIComponent。所有其它容器子项必须实现 IUIComponent 接口。

因此,如果尝试将可视组件定义为实现 IMXMLObject 接口的 EventDispatcher 的子类,则不能将其用作容器的子项。

MXML 语法expanded隐藏 MXML 语法

The <mx:RadioButtonGroup> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:RadioButtonGroup
    Properties
    enabled="true|false"      
    id="No default"
    labelPlacement="right|left|top|bottom"
  
    Events
    change="No default"
    itemClick="No default"
  />
  

查看示例

另请参见

mx.controls.RadioButton
RadioButton control


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  enabled : Boolean
确定是否允许选择。
RadioButtonGroup
  labelPlacement : String
组中的每个控件的 RadioButton 标签相对于 RadioButton 图标的位置。
RadioButtonGroup
  numRadioButtons : int
[只读 (read-only)] 属于此 RadioButtonGroup 的 RadioButton 数。
RadioButtonGroup
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  selectedValue : Object
组中所选 RadioButton 控件的 value 属性的值(如果此值被设置为非 null 值,默认值为 null)。
RadioButtonGroup
  selection : RadioButton
包含对组中当前所选 RadioButton 控件的引用。
RadioButtonGroup
公共方法
 方法定义方
  
构造函数。
RadioButtonGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
将事件调度到事件流中。
EventDispatcher
  
返回指定索引处的 RadioButton 控件。
RadioButtonGroup
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
IMXMLObject.initialized() 方法的实现支持延迟的实例化。
RadioButtonGroup
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
  此组中所选 RadioButton 控件的值更改时调度。RadioButtonGroup
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
  用户在组中选择 RadioButton 控件时调度。RadioButtonGroup
属性详细信息
enabled属性
enabled:Boolean  [读写]

确定是否允许选择。

默认值为 true.

此属性可用作数据绑定的源。修改此属性后,将调度 enabledChanged 事件。



实现
    public function get enabled():Boolean
    public function set enabled(value:Boolean):void
labelPlacement属性 
labelPlacement:String  [读写]

组中的每个控件的 RadioButton 标签相对于 RadioButton 图标的位置。您可以为单个控件覆盖此设置。

MXML 中的有效值为 "right""left""bottom""top"

在 ActionScript 中,可使用以下常数来设置此属性:ButtonLabelPlacement.RIGHTButtonLabelPlacement.LEFTButtonLabelPlacement.BOTTOMButtonLabelPlacement.TOP

默认值为 "right".

此属性可用作数据绑定的源。修改此属性后,将调度 labelPlacementChanged 事件。



实现
    public function get labelPlacement():String
    public function set labelPlacement(value:String):void
numRadioButtons属性 
numRadioButtons:int  [只读 (read-only)]

属于此 RadioButtonGroup 的 RadioButton 数。

默认值为 "undefined".

此属性可用作数据绑定的源。修改此属性后,将调度 numRadioButtonsChanged 事件。



实现
    public function get numRadioButtons():int
selectedValue属性 
selectedValue:Object  [读写]

组中所选 RadioButton 控件的 value 属性的值(如果此值被设置为非 null 值,默认值为 null)。否则,selectedValue 是所选 RadioButton 的 label 属性的值。如果未选择任何 RadioButton,则此属性为 null

如果设置了 selectedValue,则 Flex 会选择 valuelabel 属性与此值匹配的 RadioButton 控件。

默认值为 null.

此属性可用作数据绑定的源。修改此属性后,将调度 valueCommit 事件。



实现
    public function get selectedValue():Object
    public function set selectedValue(value:Object):void
selection属性 
selection:RadioButton  [读写]

包含对组中当前所选 RadioButton 控件的引用。您只能在 ActionScript 中访问此属性;在 MXML 中此属性不可设置。将此属性设置为 null 可取消对当前所选 RadioButton 控件的选择。

默认值为 null.

此属性可用作数据绑定的源。修改此属性后,将调度 valueCommit 事件。



实现
    public function get selection():RadioButton
    public function set selection(value:RadioButton):void
构造函数详细信息
RadioButtonGroup()构造函数
public function RadioButtonGroup(document:IFlexDisplayObject = null)

构造函数。

参数
document:IFlexDisplayObject (default = null) — 在类扩展 EventDispatcher 的简单情况下,不使用 document 参数。

另请参见

方法详细信息
getRadioButtonAt()方法
public function getRadioButtonAt(index:int):RadioButton

返回指定索引处的 RadioButton 控件。

参数

index:int — RadioButtonGroup 控件中 RadioButton 控件的索引,其中第一个控件的索引是 0。

返回
RadioButton — 指定的 RadioButton 控件。
initialized()方法 
public function initialized(document:Object, id:String):void

IMXMLObject.initialized() 方法的实现支持延迟的实例化。

参数

document:Object — 创建此对象的 MXML 文档。
 
id:String — 文档用来引用此对象的标识符。如果此对象是文档上的深层属性,则 id 为 null。

另请参见

事件详细信息
change 事件
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.CHANGE

此组中所选 RadioButton 控件的值更改时调度。

Event.CHANGE 常量定义 change 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles true
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已修改其值的对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
itemClick 事件  
事件对象类型: mx.events.ItemClickEvent
属性 ItemClickEvent.type = mx.events.ItemClickEvent.ITEM_CLICK

用户在组中选择 RadioButton 控件时调度。您也可以为各个 RadioButton 控件设置处理函数。

ItemClickEvent.ITEM_CLICK 常数可为 itemClick 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
index 单击的导航项目的索引。
item 单击的导航项目在数据提供程序中的项目。
label 单击的导航项目的标签。
relatedObject 生成事件的子对象。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
示例 如何使用示例
RadioButtonGroupExample.mxml
<?xml version="1.0"?>
<!-- Simple example to demonstrate RadioButtonGroup control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Script>
        <![CDATA[
    
        import mx.controls.Alert;
        import  mx.events.ItemClickEvent;
    
        // Event handler function to display the selected button
        // in an Alert control.
        private function handleCard(event:ItemClickEvent):void {
            if (event.currentTarget.selectedValue == "AmEx") {
                    Alert.show("You selected American Express") 
            } 
            else {
                if (event.currentTarget.selectedValue == "MC") {
                    Alert.show("You selected MasterCard") 
                } 
                else {
                    Alert.show("You selected Visa") 
                }
            } 
        }
        ]]>
    </mx:Script>

    <mx:Panel title="RadioButtonGroup Control Example" height="75%" width="75%" 
        paddingTop="10" paddingLeft="10">
    
        <mx:Label width="100%" color="blue" 
            text="Select a type of credit card."/>

        <mx:RadioButtonGroup id="cardtype" itemClick="handleCard(event);"/>
        <mx:RadioButton groupName="cardtype" id="americanExpress" value="AmEx" 
            label="American Express" width="150" />
        <mx:RadioButton groupName="cardtype" id="masterCard" value="MC" 
            label="MasterCard" width="150" />
        <mx:RadioButton groupName="cardtype" id="visa" value="Visa" 
            label="Visa" width="150" />
        
    </mx:Panel>        
</mx:Application>