Ответ 1
Если вы хотите только одностороннюю привязку, вы можете использовать метод not()
, определенный в BooleanProperty
:
paneWithControls.disableProperty().bind(checkBox.selectedProperty().not());
Это, вероятно, то, что вы хотите, если у вас действительно нет других механизмов для изменения disableProperty()
, которые не связаны с checkBox
. В этом случае вам необходимо использовать двух слушателей:
checkBox.selectedProperty().addListener((obs, wasSelected, isNowSelected) ->
paneWithControls.setDisable(! isNowSelected));
paneWithControls.disableProperty().addListener((obs, wasDisabled, isNowDisabled) ->
checkBox.setSelected(! isNowDisabled));