gpt4 book ai didi

java - 在 JavaFX 中获取并记住所选的 RadioButton

转载 作者:行者123 更新时间:2023-11-30 06:07:19 27 4
gpt4 key购买 nike

我的 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;
}

它是在我的 Controller 类中的 initialize() 方法中调用的,方式如下 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;
}
}

如何保存用户选择的按钮?将所选按钮的 mode.getText() 方法存储在变量 String 中会很棒。另外,我想设置回之前选择的按钮,以便应用程序可以记住该选择。

最佳答案

您可以在 Controller 类内的变量声明中添加类似的内容:private List<RadioButton> radioButtonsList = new ArrayList<>();

然后你可以在 for 中添加类似的内容在你提到的方法中循环

...
radioButtonsList.add(radio);
...

之后您可以使用 radioButtonList.get() 调用您想要的按钮

关于java - 在 JavaFX 中获取并记住所选的 RadioButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51042202/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com