【JavaFX】ラジオボタンの作成・イベントを登録する方法

JavaFXでラジオボタンの作成・イベントを登録する方法について記載します。

ラジオボタンの作成・イベントを登録する方法

1. ラジオボタンの作成

ボタンを作成するには、RadioButton クラスを使用します。

構文

RadioButton rb = new RadioButton(“ボタン名”);

実行例

2. イベントの登録

ラジオボタンのグループにイベントを登録するには、addListener メソッドを使用します。

構文

ToggleGroup group = new ToggleGroup();
group.selectedToggleProperty().addListener( ChangeListener<Toggle> );

addListener メソッドの引数には、ChangeListenerインタフェースを実装したクラスを指定します。

実行例

ラジオボタンをクリックすると、次のメッセージが表示されます。

ChangeListenerインタフェースを実装したクラスを使用してイベントを登録

上記の例では、ChangeListenerインタフェースを実装したクラスを使用してイベントを登録しましたが、次のようにラムダ式を使用してイベントを登録することもできます。

ラムダ式を使用してイベントを登録

3. イベントの登録( 発生元から任意の値を渡す )

2の例では、イベント発生時に渡される変数( newValue )を RadioButtonクラスにキャストして発生元のラジオボタンを判別していました。

RadioButton selectedRb = (RadioButton)newValue;

クリックされたラジオボタンごとに、任意の値を保存する場合、RadioButtonクラスのsetUserData メソッドを使用すると簡単にボタンごとの値を取得することができます。

RadioButton.setUserData( 保存したい値 );
実行例

次の例では、ボタンAに10、ボタンBに20、ボタンCに30 という固有の値を設定し、クリック時に設定した値を取得・表示します。

ラジオボタンをクリックすると、次のメッセージが表示されます。

4. enum を使用してラジオボタンを管理する方法

次の例では、enumを使用して各ボタンを管理します。
各ボタン要素をまとめて管理できるので、コードが読みやすくなると思います。

実行例

ボタンクリック時のアクションでも、enumを使用してどのボタンがクリックされたか判別できるためおすすめの方法です。

5. 任意のボタンを選択する方法

RadioButtonクラスのsetSelectedメソッドを使用すると、任意のボタンを選択状態にすることができます。

・初期表示時のデフォルト選択肢を指定
・設定の内容を反映

などで使用できます。

構文

RadioButton rbA = new RadioButton(“ボタンA”);
rbA.setSelected(true); // true を指定すると選択状態になります

実行例

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする