| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
RadioButtonGroup クラスは、1 つのコンポーネントとして機能する RadioButton コンポーネントのグループを定義します。ラジオボタンを 1 つ選択したら、同じグループから他のラジオボタンを選択することはできません。
例を表示
name:String [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
ラジオボタンのインスタンス名を取得します。
デフォルト値 : "RadioButtonGroup".
実装
public function get name():String
numRadioButtons:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
このラジオボタングループ内のラジオボタンの数を取得します。
デフォルト値 : 0.
実装
public function get numRadioButtons():int
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: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
例
次の例では、2 つのラジオボタンを含む新しいラジオボタングループを作成します。現在選択されているラジオボタンが変更されたとき、選択されているラジオボタンのラベルと値をトレースします。
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)
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
新しい RadioButtonGroup インスタンスを作成します。このコンストラクタは、ほとんどの場合、ラジオボタンがインスタンス化されたときに自動的に実行されます。
パラメータ
| name:String — ラジオボタングループの名前です。
|
public function addRadioButton(radioButton:RadioButton):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
ラジオボタングループインデックス用に使用するラジオボタンを内部ラジオボタン配列に追加し、ラジオボタンのグループから 1 つのラジオボタンを選択できるようにします。このメソッドはラジオボタンによって自動的に使用されますが、手動で使用してグループにラジオボタンを明示的に追加することもできます。
パラメータ
| radioButton:RadioButton — 現在のラジオボタングループに追加する RadioButton インスタンスです。
|
public static function getGroup(name:String):RadioButtonGroup
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
指定されたラジオボタングループへの参照を取得します。
パラメータ
戻り値
例
次の例は、グループで選択されているラジオボタンを特定する方法を示します。
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
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
指定されたインデックス位置にある RadioButton コンポーネントを取得します。
パラメータ
| index:int — RadioButtonGroup コンポーネント内の RadioButton コンポーネントのインデックス。最初のコンポーネントのインデックスは 0 です。
|
戻り値
例外
| RangeError — 指定されたインデックスは、0 より小さいか、またはデータプロバイダの長さ以上です。
|
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。
|
public function removeRadioButton(radioButton:RadioButton):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
RadioButton インスタンスをラジオボタンの内部リストからクリアします。
パラメータ
イベントオブジェクトの型: flash.events.Event
Event.type property = flash.events.Event.CHANGE
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
グループ内の選択した RadioButton インスタンスが変更されたときに送出されます。
type プロパティ (
change イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 値が変更されたオブジェクトです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
例
次の例では、3 つのラジオボタンを作成し、ラジオボタングループの
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 property = flash.events.MouseEvent.CLICK
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
RadioButton インスタンスがクリックされたときに送出されます。
type プロパティ (
click イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
bubbles | true |
buttonDown | マウスの主ボタンが押されている場合は true、それ以外の場合は false です。 |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
ctrlKey | Ctrl キーがアクティブになっている場合は true、非アクティブになっている場合は false です。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
localX | スプライトを基準とするイベント発生位置の水平座標です。 |
localY | スプライトを基準とするイベント発生位置の垂直座標です。 |
shiftKey | Shift キーがアクティブになっている場合は true、非アクティブになっている場合は false です。 |
stageX | グローバルステージ座標を基準とするイベント発生位置の水平座標です。 |
stageY | グローバルステージ座標を基準とするイベント発生位置の垂直座標です。 |
target | ポインティングデバイスの下にある InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
この例は、複数のグループで多くの RadioButton インスタンスを管理する方法を示します。
例を実行するには、次の手順に従います。
- ライブラリに RadioButton および Label コンポーネントを追加します。
- このコードを RadioButtonGroupExample.as として FLA ファイルと同じディレクトリに保存します。
- FLA ファイルのドキュメントクラスを 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;
}
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Thu Oct 25 2007, 12:41 AM GMT-07:00
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/fl/controls/RadioButtonGroup.html