CheckBox コンポーネントの使用

CheckBox は、選択状態と非選択状態がある正方形のボックスです。選択状態のときは、ボックス内にチェックマークが表示されます。 CheckBox には、テキストラベルを追加して、上、下、左、右のいずれかの位置に表示することができます。

複数の CheckBox を使用すると、相互排他的ではない true または false 値のセットを収集できます。例えば、購入したいと思う自動車の種類に関する情報を収集するアプリケーションで複数の CheckBox を使用すると、色々な特徴をユーザーに選択させることができます。

CheckBox のユーザー操作

CheckBox は、アプリケーション内で有効または無効にすることができます。 CheckBox が有効なときにユーザーが CheckBox (またはそのラベル) をクリックすると、CheckBox は入力フォーカスを取得し、押された状態になります。 ユーザーがマウスボタンを押し下げ、そのままの状態でマウスポインターを CheckBox(またはそのラベル)の領域外に移動すると、その CheckBox は入力フォーカスを保持したまま、最初の状態に戻ります。ユーザーが CheckBox 上でマウスボタンを離さない限り、CheckBox の状態は変化しません。 さらに、CheckBox には、選択状態と非選択状態の 2 種類の無効状態があります。それぞれの状態を表すには selectedDisabledSkin および disabledSkin が使用されます。無効状態の CheckBox はマウスやキーボードで選択できません。

無効状態の CheckBox は、ユーザーの操作に関係なく無効状態の外観で表示されます。 無効状態の CheckBox はマウスおよびキーボードからの入力を受け付けません。

CheckBox インスタンスは、ユーザーがクリックするか Tab キーでナビゲートすると、フォーカスを取得します。 フォーカスを取得している CheckBox コンポーネントのインスタンスでは、次のキーを使用した操作が可能です。

キー

説明

Shift+Tab

フォーカスを前のエレメントに移動します。

スペースバー

コンポーネントを選択または選択解除して、 change イベントをトリガーします。

Tab

フォーカスを次のエレメントに移動します。

フォーカスの制御について詳しくは、 FocusManager の操作 および「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」の FocusManager クラスを参照してください。

ライブプレビューでは、オーサリング時にプロパティインスペクターまたはコンポーネントインスペクターで各 CheckBox インスタンスのパラメーターに加えた変更が反映されます。

CheckBox コンポーネントをアプリケーションに追加する際に、次の ActionScript コード行を追加することで、そのコンポーネントをスクリーンリーダーが読み取れるように設定できます。

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

1 つのコンポーネントに対してアクセシビリティ機能を有効化する処理は、そのコンポーネントのインスタンスをいくつ使用するかに関係なく、一度だけ実行します。

CheckBox コンポーネントのパラメーター

プロパティインスペクターまたはコンポーネントインスペクターで CheckBox コンポーネントの各インスタンスに設定できるオーサリングパラメーターは、 label labelPlacement および selected です。これらの各パラメーターには、対応する同名の ActionScript プロパティがあります。これらのパラメーターに設定できる値については、「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」の CheckBox クラスを参照してください。

CheckBox を使用したアプリケーションの作成

次の手順は、オーサリング時に CheckBox コンポーネントをアプリケーションに追加する方法を示しています。ここでは、ローン計算アプリケーションのフォームから抜粋したものを使用しています。 このフォームには、ユーザーに持ち家があるかどうかを問う質問があり、「はい」と回答するための CheckBox が用意されています。「はい」と回答があった場合は、その家に関連する値を指定するための 2 つのラジオボタンを表示します。

CheckBox コンポーネントを使用したアプリケーションの作成

  1. 新しい Flash (ActionScript 3.0) ドキュメントを作成します。

  2. CheckBox コンポーネントをコンポーネントパネルからステージまでドラッグします。

  3. プロパティインスペクター内で次のように設定します。

    • インスタンス名として、 homeCh と入力します。

    • 幅(W)の値として、 140 と入力します。

    • label パラメーターに「 持ち家がある 」と入力します。

  4. 2 つの RadioButton コンポーネントをコンポーネントパネルからステージにドラッグし、CheckBox の右側の下に配置します。プロパティインスペクターで、各コンポーネントについて以下の値を入力します。

    • それぞれのインスタンス名として underRb および overRb と入力します。

    • 両方の RadioButton の W(幅)パラメーターとして 120 と入力します。

    • label パラメーターの underRb に $500,000 以下と入力します。

    • label パラメーターの overRb に $500,000 より多いと入力します。

    • 両方の RadioButton の groupName パラメーターとして valueGrp と入力します。

  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 が選択されていない場合には、それらを無効にします。詳しくは、「 Adobe Flash Professional CS5 用 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 RadioButton と overRb RadioButton を有効にし、 homeCh が選択されていない場合には、それらを無効にします。詳しくは、「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」の MouseEvent クラスを参照してください。

  5. 制御/ムービープレビューを選択します。