| 套件 | fl.controls |
| 類別 | public class RadioButtonGroup |
| 繼承 | RadioButtonGroup EventDispatcher Object |
| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
相關 API 元素
公用屬性
| 屬性 | 定義自 | ||
|---|---|---|---|
![]() | constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | |
| name : String [唯讀]
會取得選項按鈕的實體名稱。 | RadioButtonGroup | ||
| numRadioButtons : int [唯讀]
會取得此選項按鈕群組中的選項按鈕數目。 | RadioButtonGroup | ||
| selectedData : Object
會取得或設定所選選項按鈕的 value 屬性。 | RadioButtonGroup | ||
| selection : RadioButton
會取得或設定選項按鈕群組中目前所選取選項按鈕的參考。 | RadioButtonGroup | ||
公用方法
| 方法 | 定義自 | ||
|---|---|---|---|
RadioButtonGroup(name:String)
會建立新的 RadioButtonGroup 實體。 | RadioButtonGroup | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | |
將選項按鈕加入至內部選項按鈕陣列,以便與選項按鈕群組索引功能搭配使用,此功能可允許在選項按鈕群組中選取單一選項按鈕。 | RadioButtonGroup | ||
![]() |
會將事件傳送到事件流程。 | EventDispatcher | |
[靜態]
會擷取選項按鈕群組的參考。 | RadioButtonGroup | ||
會擷取位於指定索引位置的 RadioButton 組件。 | RadioButtonGroup | ||
會傳回指定之 RadioButton 實體的索引。 | RadioButtonGroup | ||
![]() |
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | |
![]() |
指出物件是否有已定義的指定屬性。 | Object | |
![]() |
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | |
![]() |
指出指定的屬性是否存在,以及是否可列舉。 | Object | |
![]() |
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | |
清除內部選項按鈕清單中的 RadioButton 實體。 | RadioButtonGroup | ||
![]() |
為迴圈作業設定動態屬性的可用性。 | Object | |
![]() |
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | |
![]() |
會傳回指定之物件的字串形式。 | Object | |
![]() |
會傳回指定之物件的基本值。 | Object | |
![]() |
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher | |
事件
| 事件 | 摘要 | 定義自 | ||
|---|---|---|---|---|
![]() | [廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | ||
| 當群組內已選取的 RadioButton 實體變更時傳送。 | RadioButtonGroup | |||
| 當您按一下 RadioButton 實體時傳送。 | RadioButtonGroup | |||
![]() | [廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | ||
屬性詳細資訊
name | 屬性 |
numRadioButtons | 屬性 |
selectedData | 屬性 |
selectedData:Object| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.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 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.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 | () | 建構函式 |
方法詳細資訊
addRadioButton | () | 方法 |
public function addRadioButton(radioButton:RadioButton):void| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
將選項按鈕加入至內部選項按鈕陣列,以便與選項按鈕群組索引功能搭配使用,此功能可允許在選項按鈕群組中選取單一選項按鈕。 此方法會由選項按鈕會自動使用,但是也能以手動方式使用,以明確地將選項按鈕加入至群組。
參數
radioButton:RadioButton — 要加入至目前選項按鈕群組的 RadioButton 實體。
|
getGroup | () | 方法 |
public static function getGroup(name:String):RadioButtonGroup| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.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 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會擷取位於指定索引位置的 RadioButton 組件。
參數
index:int — RadioButton 組件的索引,位於 RadioButtonGroup 組件內,其中第一個組件的索引為 0。
|
RadioButton — 指定的 RadioButton 組件。
|
擲回值
RangeError — 指定的索引小於 0,或者大於或等於資料提供者的長度。
|
getRadioButtonIndex | () | 方法 |
public function getRadioButtonIndex(radioButton:RadioButton):int| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會傳回指定之 RadioButton 實體的索引。
參數
radioButton:RadioButton — 要置於目前 RadioButtonGroup 中的 RadioButton 實體。
|
int — 指定之 RadioButton 組件的索引。若未找到指定的 RadioButton,則為 -1。
|
removeRadioButton | () | 方法 |
public function removeRadioButton(radioButton:RadioButton):void| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
清除內部選項按鈕清單中的 RadioButton 實體。
參數
radioButton:RadioButton — 要移除的 RadioButton 實體。
|
事件詳細資訊
change | 事件 |
事件物件類型:
屬性 Event.type =
範例 ( 如何使用本範例 )
flash.events.Event屬性 Event.type =
flash.events.Event.CHANGE| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.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 | 事件 |
事件物件類型:
屬性 MouseEvent.type =
flash.events.MouseEvent屬性 MouseEvent.type =
flash.events.MouseEvent.CLICK| 語言版本: | ActionScript 3.0 |
| 產品版本: | Flash CS3 |
| 執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
當您按一下 RadioButton 實體時傳送。
定義type 屬性值 (click 事件物件)。
這個事件具有下列屬性:
| 屬性 | 值 |
|---|---|
altKey | 如果 Alt 鍵為作用中 (Windows),則為 true。 |
bubbles | true |
buttonDown | click 事件的這個值一律為 false。 |
cancelable | false;沒有要取消的預設行為指令。 |
commandKey | 在 Mac 中,如果 Command 鍵為作用中,則為 true;如果已停用則為 false。在 Windows 中一定為 false。 |
controlKey | 如果 Ctrl 或 Control 鍵為作用中,則為 true;如果已停用,則為 false。 |
ctrlKey | 在 Windows 或 Linux 中,如果 Ctrl 鍵為作用中,則為 true;在 Mac 中,如果 Ctrl 鍵或 Command 鍵為作用中,則為 true;否則為 false。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
localX | 相對於包含的 Sprite,事件發生的水平座標 (如果停用滑鼠鎖定)。 |
localY | 相對於包含的 Sprite,事件發生的垂直座標 (如果停用滑鼠鎖定)。 |
movementX | 自上次滑鼠事件以來滑鼠位置的水平座標變更 (如果啟用滑鼠鎖定)。 |
movementY | 自上次滑鼠事件以來滑鼠位置的垂直座標變更 (如果啟用滑鼠鎖定)。 |
shiftKey | 如果 Shift 鍵為作用中,則為 true;若已停用,則為 false。 |
stageX | 在全域舞台座標上,事件發生的水平座標。 |
stageY | 在全域舞台座標上,事件發生的垂直座標。 |
target | 位於指標裝置下方的 InteractiveObject 實體。 target 不會永遠都是顯示清單中註冊事件偵聽程式的物件。 請使用 currentTarget 屬性,存取目前正在處理該事件之顯示清單中的物件。 |
範例 如何使用本範例
RadioButtonGroupExample.as
此範例將示範如何跨多個群組管理許多 RadioButton 物件。
- 將 RadioButton 和 Label 組件加入元件庫。
- 將這個程式碼儲存成 RadioButtonGroupExample.as,並與您的 FLA 存放在相同的目錄中。
- 將 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;
}
}
}
Tue Jun 12 2018, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性