我的JavaFx应用程序中有此方法来创建RadioButton。private HBox createModesRadios(IntegerProperty count, Mode... modes) { ToggleGroup group = new ToggleGroup(); HBox result = new HBox(50); result.setPadding(new Insets(20, 0, 0, 0)); result.setAlignment(Pos.CENTER); for (Mode mode : modes) { RadioButton radio = new RadioButton(mode.getText()); radio.setToggleGroup(group); radio.setUserData(mode); result.getChildren().add(radio); } if (modes.length > 0) { group.selectToggle((Toggle) result.getChildren().get(0)); count.bind(Bindings.createIntegerBinding(() -> ((Mode) group.getSelectedToggle().getUserData()).getCount(), group.selectedToggleProperty())); } else { count.set(0); } return result;}它initialize()通过以下方式在Controller类中的方法中调用HBox radioBox = createModesRadios(elementCount, modes);。这是助手类模式:public class Mode {private final String text;private final int count;public Mode(String text, int count) { this.text = text; this.count = count;}public String getText() { return text;}public int getCount() { return count;}}如何保存用户选择的按钮?将所选按钮String的mode.getText()方法存储在变量中会很棒。另外,我想重新设置先前选择的按钮,以便应用程序可以记住选择。
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
您可以在控制器类内的变量声明中添加以下内容: private List<RadioButton> radioButtonsList = new ArrayList<>();
然后,您可以for在您提到的方法中在循环内添加类似的内容
...
radioButtonsList.add(radio);
...
之后,您可以调用所需的按钮 radioButtonList.get()
添加回答
举报
0/150
提交
取消