我试图从多个fxmlcontroler文件中获取大量单选按钮值(每个fxml具有一组5个单选按钮...用户将选择一个)并将它们存储在main方法的数组中。我如何使用ToggleGroup来实现?

最佳答案

好的,我想出了一个解决方案。首先,您必须将所需的单选按钮放入切换组:

    final ToggleGroup tg1 = new ToggleGroup();
    g1b1.setToggleGroup(tg1);
    g1b2.setToggleGroup(tg1);
    g1b3.setToggleGroup(tg1);
    g1b4.setToggleGroup(tg1);
    g1b5.setToggleGroup(tg1);


接下来,添加一个侦听器:

tg1.selectedToggleProperty().addListener(new ChangeListener<Toggle>()


将单选按钮添加到数组中:

            Object[] rba = tg1.getToggles().toArray();


使用循环查找选定的单选按钮:

for(int i = 0; i < rba.length; i++){
                if(tg1.getSelectedToggle() == rba[i]){
                    System.out.println("SELECTED RADIO BUTTON" + i);
                }else{
                    System.out.println(rba[i].toString());
                }
            }


我是用一个文档控制器完成的。您肯定可以从这里找到满足您需求的方法

09-04 13:25