Java 两个布尔属性之间的双向反向绑定
首先,天真的尝试:Java 两个布尔属性之间的双向反向绑定,java,javafx,Java,Javafx,首先,天真的尝试: booleanProperty1.bindBidirectional(booleanProperty2.not());//类型不匹配 这不管用。我要么将其更改为单向绑定(因此它将接受BooleanBinding作为参数),要么删除.not() 在这里实现我的目标的最佳方式是什么?为booleanProperty2添加一个侦听器 当其值更改(触发侦听器)时,将booleanProperty设置为booleanProperty2的反面。最简单的方法是将侦听器同时包含到属性中,并
booleanProperty1.bindBidirectional(booleanProperty2.not());//类型不匹配
这不管用。我要么将其更改为单向绑定(因此它将接受BooleanBinding
作为参数),要么删除.not()
在这里实现我的目标的最佳方式是什么?为booleanProperty2添加一个侦听器
当其值更改(触发侦听器)时,将booleanProperty设置为booleanProperty2的反面。最简单的方法是将侦听器同时包含到属性中,并将要在其他属性上设置的值反转
booleanProperty1.addListener((obs,old,val)->booleanProperty2.set(!val));
booleanProperty2.addListener((obs,old,val)->booleanProperty1.set(!val));
为什么两者都有?没有优势。