패키지fl.controls
클래스public class RadioButtonGroup
상속RadioButtonGroup Inheritance EventDispatcher Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

RadioButtonGroup 클래스는 RadioButton 구성 요소의 그룹을 정의하여 단일 구성 요소로 작동하도록 합니다. 라디오 버튼 하나를 선택하면 같은 그룹에서 다른 라디오 버튼을 선택할 수 없습니다.

예제 보기

참고 사항

RadioButton
RadioButton.group


Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  name : String
[읽기 전용] 라디오 버튼의 인스턴스 이름을 가져옵니다.
RadioButtonGroup
  numRadioButtons : int
[읽기 전용] 이 라디오 버튼 그룹에서 라디오 버튼의 수를 가져옵니다.
RadioButtonGroup
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  selectedData : Object
선택한 라디오 버튼의 value 속성을 가져오거나 설정합니다.
RadioButtonGroup
  selection : RadioButton
라디오 버튼 그룹에서 현재 선택한 라디오 버튼에 대한 참조를 가져오거나 설정합니다.
RadioButtonGroup
Public 메서드
 메서드다음에 의해 정의됨
  
새 RadioButtonGroup 인스턴스를 만듭니다.
RadioButtonGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
  
라디오 버튼 그룹 인덱싱에 사용할 수 있도록 내부 라디오 버튼 배열에 라디오 버튼을 추가합니다. 그러면 라디오 버튼 그룹에서 하나의 라디오 버튼을 선택할 수 있습니다.
RadioButtonGroup
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
  
[정적] 지정된 라디오 버튼 그룹에 대한 참조를 가져옵니다.
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
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 다음에 의해 정의됨
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
  그룹에서 선택한 RadioButton 인스턴스가 변경될 때 전달됩니다.RadioButtonGroup
  RadioButton 인스턴스를 클릭할 때 전달됩니다.RadioButtonGroup
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
속성 정보
name속성
name:String  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

라디오 버튼의 인스턴스 이름을 가져옵니다.

기본값은 "RadioButtonGroup".



구현
    public function get name():String
numRadioButtons속성 
numRadioButtons:int  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

이 라디오 버튼 그룹에서 라디오 버튼의 수를 가져옵니다.

기본값은 0.



구현
    public function get numRadioButtons():int
selectedData속성 
selectedData:Object  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 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  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 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 function RadioButtonGroup(name:String)

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

새 RadioButtonGroup 인스턴스를 만듭니다. 일반적으로 이 작업은 라디오 버튼이 인스턴스화되는 경우 자동으로 이루어집니다.

매개 변수
name:String — 라디오 버튼 그룹의 이름입니다.
메서드 정보
addRadioButton()메서드
public function addRadioButton(radioButton:RadioButton):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

라디오 버튼 그룹 인덱싱에 사용할 수 있도록 내부 라디오 버튼 배열에 라디오 버튼을 추가합니다. 그러면 라디오 버튼 그룹에서 하나의 라디오 버튼을 선택할 수 있습니다. 이 메서드는 라디오 버튼에 의해 자동으로 사용되지만, 수동으로 사용하여 라디오 버튼을 그룹에 명시적으로 추가할 수도 있습니다.

매개 변수

radioButton:RadioButton — 현재 라디오 버튼 그룹에 추가할 RadioButton 인스턴스입니다.

getGroup()메서드 
public static function getGroup(name:String):RadioButtonGroup

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 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
런타임 버전: AIR 1.0 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
런타임 버전: AIR 1.0 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
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

내부 라디오 버튼 목록에서 RadioButton 인스턴스를 지웁니다.

매개 변수

radioButton:RadioButton — 제거할 RadioButton 인스턴스입니다.

이벤트 정보
change 이벤트
이벤트 객체 유형: flash.events.Event
속성 Event.type = flash.events.Event.CHANGE

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.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 이벤트  
이벤트 객체 유형: flash.events.MouseEvent
속성 MouseEvent.type = flash.events.MouseEvent.CLICK

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9.0.28.0

RadioButton 인스턴스를 클릭할 때 전달됩니다.

click 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
altKey Alt 키가 활성 상태이면 true입니다(Windows 또는 Linux).
bubbles true
buttonDown 마우스 기본 버튼이 눌러져 있으면 true이고, 그렇지 않으면 false입니다.
cancelable false; 취소할 기본 비헤이비어가 없습니다.
commandKey Mac에서 true이면 Command 키가 활성 상태이고, false이면 비활성 상태입니다. Windows에서는 항상 false입니다.
controlKey Ctrl 또는 Control 키가 활성 상태이면 true이고 비활성 상태이면 false입니다.
ctrlKey Windows 또는 Linux에서 Ctrl 키가 활성 상태이면 true입니다. Mac에서 Ctrl 키 또는 Command 키가 활성 상태이면 true입니다. 그렇지 않으면 false입니다.
currentTarget 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
localX 포함 Sprite와 관련된 이벤트가 발생한 지점의 수평 좌표입니다.
localY 포함 Sprite와 관련된 이벤트가 발생한 지점의 수직 좌표입니다.
shiftKey true이면 Shift 키가 활성 상태이고, false이면 비활성 상태입니다.
stageX 전역 스테이지 좌표에서 이벤트가 발생한 지점의 수평 좌표입니다.
stageY 전역 스테이지 좌표에서 이벤트가 발생한 지점의 수직 좌표입니다.
target 포인팅 장치 아래에 있는 InteractiveObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.
예제 예제 사용 방법
RadioButtonGroupExample.as

이 예제에서는 여러 그룹에서 다수의 RadioButton 객체를 관리하는 방법을 보여 줍니다.
  1. 라이브러리에 RadioButton 및 Label 구성 요소를 추가합니다.
  2. 이 코드를 FLA와 같은 디렉토리에 RadioButtonGroupExample.as로 저장합니다.
  3. 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;            
        }
    }
}