我给了两个复选框:checkboxDeSelectAllcheckboxSelectAllNotMandatories

现在,我希望它们以这种方式绑定,即如果用户选中其中一个而不是另一个则自动取消选中。

此代码

checkboxDeSelectAll.selectedProperty().bindBidirectional(checkboxSelectAllNotMandatories.selectedProperty());


不起作用。如果我选择一个,则也选择另一个。

我可以做相反的事情吗?

checkboxDeSelectAll.selectedProperty().bindBidirectional(checkboxSelectAllNotMandatories.selectedProperty().not());


不起作用..:/

谢谢你的帮助!

最佳答案

据我所知,您只能对侦听器执行此操作:

checkboxDeSelectAll.selectedProperty().addListener((obs, wasSelected, isNowSelected) -> {
    if (isNowSelected) {
        checkboxSelectAllNotMandatories.setSelected(false);
    }
});

checkboxSelectAllNotMandatories.selectedProperty().addListener((obs, wasSelected, isNowSelected) -> {
    if (isNowSelected) {
        checkboxDeSelectAll.setSelected(false);
    }
});

08-16 22:19