将JavaFX 8与FXML一起使用。
我有两套单选按钮;集合1:A, B, C, D
集合2:X, Y
我要找的是
- 确保用户在点击提交之前从每组中选中一个单选按钮,如果没有,则提示用户
- 根据选择,我将把某些数据写入一个数组
例如,对于组合A
和Y
选择,将"一些文本"写入AYcombo
数组。对于组合B
和Y
,将"一些文本"写入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
}
})