ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
fl.controls 

RadioButtonGroup  - AS3 Flash

Packagefl.controls
Classpublic class RadioButtonGroup
InheritanceRadioButtonGroup Inheritance EventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

The RadioButtonGroup class defines a group of RadioButton components to act as a single component. When one radio button is selected, no other radio buttons from the same group can be selected.

View the examples

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  name : String
[read-only] Gets the instance name of the radio button.
RadioButtonGroup
  numRadioButtons : int
[read-only] Gets the number of radio buttons in this radio button group.
RadioButtonGroup
  selectedData : Object
Gets or sets the selected radio button's value property.
RadioButtonGroup
  selection : RadioButton
Gets or sets a reference to the radio button that is currently selected from the radio button group.
RadioButtonGroup
Public Methods
 MethodDefined By
  
Creates a new RadioButtonGroup instance.
RadioButtonGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
  
Adds a radio button to the internal radio button array for use with radio button group indexing, which allows for the selection of a single radio button in a group of radio buttons.
RadioButtonGroup
 Inherited
Dispatches an event into the event flow.
EventDispatcher
  
[static] Retrieves a reference to the specified radio button group.
RadioButtonGroup
  
Retrieves the RadioButton component at the specified index location.
RadioButtonGroup
  
Returns the index of the specified RadioButton instance.
RadioButtonGroup
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
Clears the RadioButton instance from the internal list of radio buttons.
RadioButtonGroup
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
  Dispatched when the selected RadioButton instance in a group changes.RadioButtonGroup
  Dispatched when a RadioButton instance is clicked.RadioButtonGroup
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
Property Detail

name

property
name:String  [read-only]

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Gets the instance name of the radio button.

The default value is "RadioButtonGroup".



Implementation
    public function get name():String

numRadioButtons

property 
numRadioButtons:int  [read-only]

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Gets the number of radio buttons in this radio button group.

The default value is 0.



Implementation
    public function get numRadioButtons():int

selectedData

property 
selectedData:Object

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Gets or sets the selected radio button's value property. If no radio button is currently selected, this property is null.



Implementation
    public function get selectedData():Object
    public function set selectedData(value:Object):void

Example  ( How to use this example )
The following example creates a new RadioButtonGroup and listens for its change event:

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

property 
selection:RadioButton

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Gets or sets a reference to the radio button that is currently selected from the radio button group.



Implementation
    public function get selection():RadioButton
    public function set selection(value:RadioButton):void

Example  ( How to use this example )
The following example creates a new radio button group that contains two radio buttons. When the currently selected radio button changes, the selected radio button's label and value are traced:

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 + ")");
}
Constructor Detail

RadioButtonGroup

()Constructor
public function RadioButtonGroup(name:String)

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Creates a new RadioButtonGroup instance. This is usually done automatically when a radio button is instantiated.

Parameters
name:String — The name of the radio button group.
Method Detail

addRadioButton

()method
public function addRadioButton(radioButton:RadioButton):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Adds a radio button to the internal radio button array for use with radio button group indexing, which allows for the selection of a single radio button in a group of radio buttons. This method is used automatically by radio buttons, but can also be manually used to explicitly add a radio button to a group.

Parameters

radioButton:RadioButton — The RadioButton instance to be added to the current radio button group.

getGroup

()method 
public static function getGroup(name:String):RadioButtonGroup

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Retrieves a reference to the specified radio button group.

Parameters

name:String — The name of the group for which to retrieve a reference.

Returns
RadioButtonGroup — A reference to the specified RadioButtonGroup.

Example  ( How to use this example )

The following example demonstrates how to determine which radio button in a group is selected:

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

()method 
public function getRadioButtonAt(index:int):RadioButton

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Retrieves the RadioButton component at the specified index location.

Parameters

index:int — The index of the RadioButton component in the RadioButtonGroup component, where the index of the first component is 0.

Returns
RadioButton — The specified RadioButton component.

Throws
RangeError — The specified index is less than 0 or greater than or equal to the length of the data provider.

getRadioButtonIndex

()method 
public function getRadioButtonIndex(radioButton:RadioButton):int

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Returns the index of the specified RadioButton instance.

Parameters

radioButton:RadioButton — The RadioButton instance to locate in the current RadioButtonGroup.

Returns
int — The index of the specified RadioButton component, or -1 if the specified RadioButton was not found.

removeRadioButton

()method 
public function removeRadioButton(radioButton:RadioButton):void

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Clears the RadioButton instance from the internal list of radio buttons.

Parameters

radioButton:RadioButton — The RadioButton instance to remove.
Event Detail

change

Event
Event Object Type: flash.events.Event
property Event.type = flash.events.Event.CHANGE

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Dispatched when the selected RadioButton instance in a group changes.

The Event.CHANGE constant defines the value of the type property of a change event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that has had its value modified. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

Example  ( How to use this example )

The following example creates three radio buttons and adds an event listener for a radio button group's change event:

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

Event  
Event Object Type: flash.events.MouseEvent
property MouseEvent.type = flash.events.MouseEvent.CLICK

Language Version: ActionScript 3.0
Product Version: Flash CS3
Runtime Versions: Flash Player 9.0.28.0, AIR 1.0

Dispatched when a RadioButton instance is clicked.

Defines the value of the type property of a click event object.

This event has the following properties:

PropertyValue
altKeytrue if the Alt key is active (Windows).
bubblestrue
buttonDownFor click events, this value is always false.
cancelablefalse; there is no default behavior to cancel.
commandKeytrue on the Mac if the Command key is active; false if it is inactive. Always false on Windows.
controlKeytrue if the Ctrl or Control key is active; false if it is inactive.
ctrlKeytrue on Windows or Linux if the Ctrl key is active. true on Mac if either the Ctrl key or the Command key is active. Otherwise, false.
currentTargetThe object that is actively processing the Event object with an event listener.
localXThe horizontal coordinate at which the event occurred relative to the containing sprite, if mouse locking is disabled.
localYThe vertical coordinate at which the event occurred relative to the containing sprite, if mouse locking is disabled.
movementXThe change in horizontal coordinates of the mouse position since the last mouse event, if mouse locking is enabled.
movementYThe change in vertical coordinates of the mouse position since the last mouse event, if mouse locking is enabled.
shiftKeytrue if the Shift key is active; false if it is inactive.
stageXThe horizontal coordinate at which the event occurred in global stage coordinates.
stageYThe vertical coordinate at which the event occurred in global stage coordinates.
targetThe InteractiveObject instance under the pointing device. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.
RadioButtonGroupExample.as

This example demonstrates how to manage many RadioButton objects over several groups
  1. Add the RadioButton and Label components to your library.
  2. Save this code as RadioButtonGroupExample.as in the same directory as your FLA.
  3. Set the DocumentClass in the FLA to 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;            
        }
    }
}