torutkのブログ

ソフトウェア・エンジニアのブログ

JavaFXとScene Builderでラジオボタンを配置して使う方法

ToggleGroupをScene Builder上でどう作成するのかを悩んでいたのですが、かの灰色背景のJava情報に答えが記載されていました。
http://www.ne.jp/asahi/hishidama/home/tech/java/fx/sb/RadioButton.html

  • Scene Builderで、左側ペインのRadioButtonを任意個画面に配置します。
  • どれか1つのRadioButtonを選択して、右側ペインのプロパティ内のToggle Groupに直接グループ名を入力します。
  • 残りのRadioButtonをそれぞれ選択して、右側ペインのプロパティ内のToggle Group欄を見ると、右端に[▽]が表れます。これをクリックすると、先に入力したグループ名が候補に表れるのでそれを選択します。

FXMLに生成されるコード

<RadioButton mnemonicParsing="false" selected="true" text="ALFA">
    <toggleGroup>
        <ToggleGroup fx:id="phoneticGroup" />
    </toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" text="BRAVO" toggleGroup="$phoneticGroup" />

ToggleGroupインスタンスへのインジェクション

上述の手順でScene Builder上でToggle Group欄にグループ名を設定した上で、FXMLのコントローラークラスのフィールドにグループ名と同じ名前の変数を@FXMLアノテーション付きで定義すると、ToggleGroupがインジェクションされます。