为了账号安全,请及时绑定邮箱和手机立即绑定

获取并记住JavaFX中选定的RadioButton

获取并记住JavaFX中选定的RadioButton

湖上湖 2021-04-06 13:22:23
我的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()


查看完整回答
反对 回复 2021-04-28
  • 1 回答
  • 0 关注
  • 297 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信