使用 CheckBox 組件

此CheckBox 是一種可供選取或取消選取的方塊。選取之後,方塊中就會出現一個核取標記。您可以將文字標籤加入 CheckBox,放置在 CheckBox 的左邊、右邊、上方或下方。

如果您需要蒐集一組非互斥的 true false 值,就可以使用 CheckBox。例如,對於蒐集您要購買之車款相關資訊的應用程式,就會使用 CheckBox 供您選取車款特徵。

與 CheckBox 的使用者互動

您可以在應用程式中啟用或停用 CheckBox。啟用 CheckBox 之後,如果使用者按一下這個方塊或它的標籤,CheckBox 就會成為輸入焦點並且顯示當按下時的外觀。如果使用者在按下滑鼠按鈕期間,將指標移到 CheckBox 或其標籤的範圍區域之外,該組件的外觀就會回復原始狀態並且保留輸入焦點。CheckBox 的狀態要等到滑鼠在該組件上方放開之後才會變更。此外,CheckBox 還有選取和取消選取兩種停用狀態,兩者分別使用 selectedDisabledSkin disabledSkin ,不允許滑鼠或鍵盤互動。

停用 CheckBox 之後,不論使用者的動作為何,都只會顯示它的停用狀態。處於停用狀態的 CheckBox 不接受滑鼠或鍵盤輸入。

當使用者按一下 CheckBox 或用 Tab 鍵移到實體上方時,它就會成為焦點。當 CheckBox 實體成為焦點時,您可以使用下列按鍵加以控制:

按鍵

說明

Shift+Tab

將焦點移到上一個元素。

空白鍵

選取或取消選取組件,並且觸發 change 事件。

Tab 鍵

將焦點移到下一個元素。

如需有關控制焦點的詳細資訊,請參閱 使用 FocusManager 以及 Flash Professional 的 ActionScript 3.0 參考 中的「FocusManager 類別」。

進行編寫時,每個 CheckBox 實體的即時預覽會反映您在「屬性」檢測器或「組件檢測器」中對參數的變更。

將 CheckBox 組件加入應用程式時,您可以加入下列 ActionScript 程式碼,讓螢幕朗讀程式能夠存取此組件:

import fl.accessibility.CheckBoxAccImpl; 
 
CheckBoxAccImpl.enableAccessibility();

不論您有多少個組件實體,都只需要啟用組件的輔助功能一次。

CheckBox 組件參數

您可以在「屬性」檢測器或「組件檢測器」中,為每個 CheckBox 組件實體設定下列編寫參數: label labelPlacement selected 。這些參數都具有相對應的 ActionScript 同名屬性。如需有關這些參數可能值的詳細資訊,請參閱 適用於 Adobe Flash Platform 的 ActionScript 3.0 參考 中的 CheckBox 類別。

使用 CheckBox 建立應用程式

下列程序說明如何使用貸款應用程式表單的一部分摘錄,在編寫期間將 CheckBox 組件加入應用程式。這份表單會詢問申請人是否自己擁有房屋,並提供 CheckBox 供使用者回答「是」。假設符合上述條件,此表單便會顯示兩個選項按鈕,供使用者指定房屋的相對價值。

使用 CheckBox 組件建立應用程式

  1. 建立新的 Flash (ActionScript 3.0) 文件。

  2. 將 CheckBox 組件從「組件」面板拖曳到「舞台」。

  3. 在「屬性」檢測器中,執行下列步驟:

    • 輸入 homeCh 做為實體名稱。

    • 輸入 140 做為寬度 (W) 值。

    • 輸入 Own your home? 做為 label 參數的值。

  4. 將兩個 RadioButton 組件從「組件」面板拖曳到「舞台」,放置於 CheckBox 的下方及右邊。在「屬性」檢測器中,為這些組件輸入下列值:

    • 輸入 underRb overRb 做為實體名稱。

    • 輸入 120 做為這兩個 RadioButton 的 W (寬度) 參數值。

    • 輸入 Under $500,000? 做為 underRb 的 label 參數值。

    • 輸入 Over $500,000? 做為 overRb 的 label 參數值。

    • 輸入 valueGrp 做為這兩個 RadioButton 的 groupName 參數值。

  5. 開啟「動作」面板,選取主要「時間軸」中的「影格 1」,然後輸入下列 ActionScript 程式碼:

    homeCh.addEventListener(MouseEvent.CLICK, clickHandler); 
    underRb.enabled = false; 
    overRb.enabled = false; 
     
    function clickHandler(event:MouseEvent):void { 
        underRb.enabled = event.target.selected; 
        overRb.enabled = event.target.selected;     
    }

    此程式碼會建立 CLICK 事件的事件處理常式,以便在選取 homeCh CheckBox 的情況下啟用 underRb overRb RadioButton;如果未選取 homeCh ,則會將它們停用。如需詳細資訊,請參閱 Flash Professional 的 ActionScript 3.0 參考 中的「MouseEvent 類別」。

  6. 選取「控制 > 測試影片」。

下列範例會重製上一個應用程式,但不同的是使用 ActionScript 建立 CheckBox 和 RadioButton。

使用 ActionScript 建立 Checkbox

  1. 建立新的 Flash (ActionScript 3.0) 文件。

  2. 將 CheckBox 組件和 RadioButton 組件從「組件」面板拖曳到目前文件的「元件庫」面板。如果「元件庫」面板尚未開啟,請按 Ctrl+L 或選取「視窗 > 元件庫」,開啟「元件庫」面板。

    這麼做能讓您的應用程式可以使用這些組件,而不需將這些組件放在「舞台」。

  3. 開啟「動作」面板,選取主要「時間軸」中的「影格 1」,然後輸入下列程式碼以建立並放置組件實體:

    import fl.controls.CheckBox; 
    import fl.controls.RadioButton; 
     
    var homeCh:CheckBox = new CheckBox(); 
    var underRb:RadioButton = new RadioButton(); 
    var overRb:RadioButton = new RadioButton(); 
    addChild(homeCh); 
    addChild(underRb); 
    addChild(overRb); 
    underRb.groupName = "valueGrp"; 
    overRb.groupName = "valueGrp"; 
    homeCh.move(200, 100); 
    homeCh.width = 120; 
    homeCh.label = "Own your home?"; 
    underRb.move(220, 130); 
    underRb.enabled = false; 
    underRb.width = 120; 
    underRb.label = "Under $500,000?"; 
    overRb.move(220, 150); 
    overRb.enabled = false; 
    overRb.width = 120; 
    overRb.label = "Over $500,000?";

    此程式碼會使用 CheckBox() RadioButton() 建構函式建立組件,並使用 addChild() 方法將這些組件放置於「舞台」。它會將 move() 方法用於指定組件在「舞台」上的位置。

  4. 接著,加入下列 ActionScript 以建立事件偵聽程式和事件處理常式函數:

    homeCh.addEventListener(MouseEvent.CLICK, clickHandler); 
     
    function clickHandler(event:MouseEvent):void { 
        underRb.enabled = event.target.selected; 
        overRb.enabled = event.target.selected;     
    }

    此程式碼會建立 CLICK 事件的事件處理常式,以便在選取 homeCh CheckBox 的情況下啟用 underRb overRb 選項按鈕;如果未選取 homeCh ,則會將它們停用。如需詳細資訊,請參閱 Flash Professional 的 ActionScript 3.0 參考 中的「MouseEvent 類別」。

  5. 選取「控制 > 測試影片」。