如何在JavaFX中处理单选按钮验证和输入



将JavaFX 8与FXML一起使用。

我有两套单选按钮;集合1:A, B, C, D集合2:X, Y
我要找的是

  1. 确保用户在点击提交之前从每组中选中一个单选按钮,如果没有,则提示用户
  2. 根据选择,我将把某些数据写入一个数组

例如,对于组合AY选择,将"一些文本"写入AYcombo数组。对于组合BY,将"一些文本"写入BYCombo数组。等等

这可以通过使用绑定和属性轻松完成。ToggleGroup将选定的切换定义为属性(selectedToggleProperty),您可以基于以下属性创建BooleanBinding:

BooleanBinding binding = groupA.selectedToggleProperty().isNotNull().and(groupB.selectedToggleProperty().isNotNull());

现在您可以将按钮的disable属性绑定到此绑定:

button.disableProperty().bind(binding.not());

要定义数据,您可以向绑定添加一个侦听器(只要绑定中的任何内容发生更改,就会调用该侦听器):

binding.addListener(e -> {
    if(binding.getValue()) {
        // calculate and set data
    }
})

最新更新