我试图从多个fxmlcontroler文件中获取大量的radiobutton值(每个fxml有一组5个radiobuttons ...用户将选择一个)并将它们存储在main方法的数组中。如何使用ToggleGroup实现这一目标?
答案 0 :(得分:1)
好的,我想出了一个解决方案。首先,您必须将所需的单选按钮放入切换组:
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());
}
}
我用一个文档控制器做了这个。你肯定能从这里找到你需要的方法