我有5个单选按钮(A,B,C,D,E),每个2个都在一个切换组中(例如A和B在一个切换组中,C和D在一个切换组中),第五个一个人。我希望如果我选择A和C,然后选择E,则取消选择A和C。我尝试使用.setSelected(false),但它似乎不起作用。还有另一个功能,或者两个切换组中可以有E吗?如果是,怎么办? 谢谢。
答案 0 :(得分:1)
可能有更好的解决方案,但这可以解决您的问题:
-在 initialize 方法中为每个 RadioButton 检查其值的事件(并根据其选择状态添加代码)创建事件:
aRadioButton.selectedProperty().addListener((observable, oldValue, newValue) -> {
//if RadioButton is selected
if (newValue) {
//check if other RadioButtons are selected
if(bRadioButton.isSelected()) {
//add your code
// deselect it using:
bRadioButton.setSelected(false);
} else {
// aRadioButton is deselected
//add your code
}
}
-或通过fxml创建事件
@FXML
private void aRadioButton(ActionEvent event) {
//this will change the state of RadioButton
//to preserve deselection from this event use:
if(!aRadioButton.isSelected()) {
aRadioButon.setSelected(true);
}
//add your code here
}
这种方式不包含 ToggleGroup ,您必须管理RadioButton的选择状态。