私は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. 選択したラジオボタンの値を取得する方法
- 3. 選択したラジオボタンのインデックスを取得
- 4. ラジオグループ(ExtJS)から選択したラジオボタンを取得
- 5. 選択したラジオボタンからanglejs値を取得
- 6. JListから選択したファイルを取得する方法
- 7. テーブルから選択した値を取得する方法
- 8. アラートダイアログから選択した値を取得する方法は?
- 9. DevExpress RepositoryItemLookUpEditから選択した値を取得する方法
- 10. RadListViewから選択したアイテムを取得する方法は?
- 11. StandardListItemから選択した項目を取得する方法
- 12. ng-repeatから選択した値を取得する方法
- 13. リストから選択した値を取得する方法
- 14. マルチラインリストビューから選択した項目を取得する方法
- 15. system.web.mvc.selectlistから選択したテキストを取得する方法
- 16. WPF OpenFileDIalogから選択したファイルを取得する方法
- 17. Spring MVCでラジオボタンの選択値を取得する方法
- 18. 選択したラジオボタンの値を取得しますか?
- 19. 剃刀コードで選択したラジオボタンのIDを取得する方法は?
- 20. recyclerviewで選択したラジオボタンの値を取得する方法は?
- 21. リピータ内のラジオボタンから選択したラジオボタンリストの値を取得する
- 22. ラジオグループから選択したラジオボタンの値をフラグメントに取得する
- 23. Androidが選択したラジオボタンから値を取得しています
- 24. LWUITで選択したラジオボタンを取得する
- 25. 選択したラジオボタン値を取得する
- 26. グループ内の選択したラジオボタンを取得する(WPF)
- 27. Androidで選択したラジオボタンの文字列を取得する
- 28. ラジオボタンの複数のインスタンスに対して選択したラジオボタンの値を取得する方法
- 29. 別のテーブルからjavascriptで選択したラジオボタンの合計を取得する方法は?
- 30. イメージ内の選択したラジオボタンの値を取得します。
私は頼まれていましたか?コントローラで3つのRadioButtonを再度作成する(FXMLで作成した後)か、ToggleGroupオブジェクトだけを作成し、選択したボタンに何らかの方法でアクセスすることができます。 –
@Rounaq_intel、コントローラにtogglegroupを追加し、上記の答えにリスナーを追加するだけです。 –
ありがとう、ちょうど私が探していたもの。 – Kefirchiks