| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
RadioButtonGroup 클래스는 RadioButton 구성 요소의 그룹을 정의하여 단일 구성 요소로 작동하도록 합니다. 라디오 버튼 하나를 선택하면 같은 그룹에서 다른 라디오 버튼을 선택할 수 없습니다.
예제 보기
name:String [읽기 전용]
| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
라디오 버튼의 인스턴스 이름을 가져옵니다.
기본값은 "RadioButtonGroup".
구현 public function get name():StringnumRadioButtons:int [읽기 전용]
| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
이 라디오 버튼 그룹에서 라디오 버튼의 수를 가져옵니다.
기본값은 0.
구현 public function get numRadioButtons():intselectedData:Object [읽기/쓰기]
| 런타임 버전: | 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:RadioButton [읽기/쓰기]
| 런타임 버전: | 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 + ")");
}
public function RadioButtonGroup(name:String)| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
새 RadioButtonGroup 인스턴스를 만듭니다. 일반적으로 이 작업은 라디오 버튼이 인스턴스화되는 경우 자동으로 이루어집니다.
매개 변수 | name:String — 라디오 버튼 그룹의 이름입니다. |
public function addRadioButton(radioButton:RadioButton):void| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
라디오 버튼 그룹 인덱싱에 사용할 수 있도록 내부 라디오 버튼 배열에 라디오 버튼을 추가합니다. 그러면 라디오 버튼 그룹에서 하나의 라디오 버튼을 선택할 수 있습니다. 이 메서드는 라디오 버튼에 의해 자동으로 사용되지만, 수동으로 사용하여 라디오 버튼을 그룹에 명시적으로 추가할 수도 있습니다.
매개 변수
| radioButton:RadioButton — 현재 라디오 버튼 그룹에 추가할 RadioButton 인스턴스입니다. |
public static function getGroup(name:String):RadioButtonGroup| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
지정된 라디오 버튼 그룹에 대한 참조를 가져옵니다.
매개 변수
| name:String — 가져올 참조와 관련된 그룹의 이름입니다. |
반환값 예제
다음 예제에서는 그룹에서 선택할 라디오 버튼을 결정하는 방법을 보여 줍니다.
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);
}
public function getRadioButtonAt(index:int):RadioButton| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
지정한 인덱스 위치의 RadioButton 구성 요소를 가져옵니다.
매개 변수
| index:int — RadioButtonGroup 구성 요소에 있는 RadioButton 구성 요소의 인덱스입니다. 여기서 첫 번째 구성 요소의 인덱스는 0입니다. |
반환값오류 | RangeError — 지정한 인덱스가 0보다 작거나 데이터 공급자의 길이보다 크거나 같습니다. |
public function getRadioButtonIndex(radioButton:RadioButton):int| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
지정한 RadioButton 인스턴스의 인덱스를 반환합니다.
매개 변수
| radioButton:RadioButton — 현재 RadioButtonGroup에서 찾을 RadioButton 인스턴스입니다. |
반환값 | int — 지정한 RadioButton 구성 요소의 인덱스입니다. 지정한 RadioButton이 없으면 -1입니다. |
public function removeRadioButton(radioButton:RadioButton):void| 런타임 버전: | AIR 1.0 Flash Player 9.0.28.0 |
내부 라디오 버튼 목록에서 RadioButton 인스턴스를 지웁니다.
매개 변수
이벤트 객체 유형: flash.events.Event속성 Event.type = flash.events.Event.CHANGE| 런타임 버전: | 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;
}
}
이벤트 객체 유형: flash.events.MouseEvent속성 MouseEvent.type = flash.events.MouseEvent.CLICK| 런타임 버전: | 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 속성을 사용합니다.
|
이 예제에서는 여러 그룹에서 다수의 RadioButton 객체를 관리하는 방법을 보여 줍니다.
- 라이브러리에 RadioButton 및 Label 구성 요소를 추가합니다.
- 이 코드를 FLA와 같은 디렉토리에 RadioButtonGroupExample.as로 저장합니다.
- 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;
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 02:16 AM -08:00