私はJavaFX 8とSceneBuilder
で作業しています。 FXMLファイルにいくつかのラジオボタンを作成し、その中のラジオボタンリストにtoggleGroup
という名前を指定しました。だから今コントローラーでtoggleGroup
の選択したラジオボタンを取得したいのですが、コントローラーのフィールドとしてラジオボタンをすべて再作成する必要がありますか、toggleGroup
オブジェクトだけが選択ラジオボタンを表示しますボタンオブジェクトではなくラジオボタンのみ)。ToggleGroupから選択したラジオボタンを取得する方法
5
A
答えて
11
トグルグループとそのグループに属する3つのラジオボタンがあるとします。
ToggleGroup group = new ToggleGroup();
RadioButton rb1 = new RadioButton("RadioButton1");
rb1.setUserData("RadioButton1");
rb1.setToggleGroup(group);
rb1.setSelected(true);
RadioButton rb2 = new RadioButton("RadioButton2");
rb2.setUserData("RadioButton2");
rb2.setToggleGroup(group);
RadioButton rb3 = new RadioButton("RadioButton3");
rb3.setUserData("RadioButton3");
rb3.setToggleGroup(group);
あなたがそのトグルグループからラジオボタンを選択すると、以下のchanged(...)
メソッドが呼び出されます。
group.selectedToggleProperty().addListener(new ChangeListener<Toggle>(){
public void changed(ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) {
if (group.getSelectedToggle() != null) {
System.out.println(group.getSelectedToggle().getUserData().toString());
// Do something here with the userData of newly selected radioButton
}
}
});
9
これは決して適切に、または徹底的に回答されていないため、私が得た解決策を投稿すると思いました。
SceneBuilder
にラジオボタンを作成すると、SceneBuilder
を使用してラジオボタンをグループに割り当てることもできます。コントローラーを介してそのグループにアクセスする方法は、まずコントローラーにToggleGroup
というタイプの変数を作成し、それをSceneBuilder
で作成したのと同じ名前にします。その後、それを使用することができます。ここで私はそれをやったかの擬似コード例を次に示します。
// your imports
public class Controller
{
@FXML ToggleGroup myGroup; //I called it myGroup in SceneBuilder as well.
public void myGroupAction(ActionEvent action)
{
System.out.println("Toggled: " + myGroup.getSelectedToggle().getUserData().toString());
}
public void initialize()
{
//whatever initialize code you have here
}
}
getUserData
プロパティから返されるテキストが長いですが。後でどこかの方法で
6
@FXML
ToggleGroup right; //I called it right in SceneBuilder.
...これは誰かダウン道路を助け
myGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>()
{
@Override
public void changed(ObservableValue<? extends Toggle> ov, Toggle t, Toggle t1)
{
RadioButton chk = (RadioButton)t1.getToggleGroup().getSelectedToggle(); // Cast object to radio button
System.out.println("Selected Radio Button - "+chk.getText());
}
});
希望:ここではラジオボタンの名前だけを取得する方法です。
RadioButton selectedRadioButton = (RadioButton) right.getSelectedToggle();
String toogleGroupValue = selectedRadioButton.getText();
+0
すばやく簡単! – marw
関連する問題
- 1. 選択したラジオボタンの値を取得する方法
- 2. ラジオグループ(ExtJS)から選択したラジオボタンを取得
- 3. マルチラインリストビューから選択した項目を取得する方法
- 4. JListから選択したファイルを取得する方法
- 5. system.web.mvc.selectlistから選択したテキストを取得する方法
- 6. リピータ内のラジオボタンから選択したラジオボタンリストの値を取得する
- 7. LWUITで選択したラジオボタンを取得する
- 8. グループ内の選択したラジオボタンを取得する(WPF)
- 9. 選択したラジオボタン値を取得する
- 10. Androidが選択したラジオボタンから値を取得しています
- 11. Python Tkinter - ラジオボタンで選択を取得
- 12. ラジオボタンを動的に生成し、選択したラジオボタンIDを取得
- 13. 特定のクラスの選択されたラジオボタンを取得する
- 14. strutsをあらかじめ選択する方法html:ラジオボタン
- 15. QListでQStringを選択する方法Qtで選択したアイテムをQListViewから取得するには?
- 16. SQL Server(WPF)からデータを取得したときに、選択したListViewの値を取得する方法
- 17. Eclipseプラグインからパッケージエクスプローラで選択したノードを取得する方法
- 18. JOptionPaneから選択した項目のint値を取得する方法は?
- 19. フレックスのDataGridから選択した値を取得する方法
- 20. JavaScriptのドロップダウンリストから選択した値を取得する方法
- 21. 選択した連絡先をチェックボックスから取得する方法(Android)
- 22. 選択した行(QTableView)からセルの値を取得する方法は?
- 23. NumberPickerから選択した番号を取得する方法は?
- 24. PyGTKのツリービューで選択したアイテムから値を取得する方法は?
- 25. jquery datepickerから選択した日/月と年を取得する方法
- 26. パンくずリストから選択した値を取得する方法
- 27. Railsでは、collection_selectヘルパーメソッドから選択した値を取得する方法は?
- 28. jqueryチェックボックスツリーから選択したノード項目を取得する方法
- 29. チェックボックスから選択したユーザーのリストを取得する方法
- 30. mvc3のドロップダウンリストから選択した値とIDを取得する方法は?
私は頼まれていましたか?コントローラで3つのRadioButtonを再度作成する(FXMLで作成した後)か、ToggleGroupオブジェクトだけを作成し、選択したボタンに何らかの方法でアクセスすることができます。 –
@Rounaq_intel、コントローラにtogglegroupを追加し、上記の答えにリスナーを追加するだけです。 –
ありがとう、ちょうど私が探していたもの。 – Kefirchiks