アーカイブ

RadioButtonGroup のキーフォーカス対策

RadioButtonGroup をラップしたカスタムコンポーネントを、同一画面で複数回再利用するとき、ちょっとした工夫を施さないと、Tab キー操作によるキーフォーカス遷移が正しく機能しません。

どうやら RadioButtonGroup の id プロパティは、オブジェクトの階層とは関係なく、アプリケーション内において一意の名前でなければならない(重複してはいけない)ようです。

しかも RadioButtonGroup はなかなかの曲者で、id プロパティを定義する場合、MXML タグに直接書くことしかできません。id=”{hogehoge}”… のように、波括弧で変数を参照することすらできません。( AS では一切定義できません)

そこで、かなり強引な手段ですが、回避用のサンプルとソースを用意しましたので、下記 URL をご覧ください。

RadioButtonFocusSample (画面)
http://labs.taiga.jp/flex2/RadioButtonFocusSample/

RadioButtonFocusSample (ソース)
http://labs.taiga.jp/flex2/RadioButtonFocusSample/srcview/

簡単にポイントを箇条書きで説明します。

  • RadioButtonGroup タグは使用しません。
  • グルーピング処理は、RadioButton の groupName プロパティを使用します。
  • RadioButtonGroup のイベントを使用したい場合は、RadioButtonGroup インスタンスを作成し、groupName 定義済みの RadioButton の group プロパティを代入します。