我在我的应用程序中使用了许多JavaFX Bindings,但我有一个不想工作的单个绑定。使用以下代码
不会触发b处的附加侦听器a.chosenFileProperty().bindBidirectional(b.selectedFileProperty());
双方都这样声明:
ObjectProperty<File> chosenFile = new SimpleObjectProperty<File>();
我切断了几个可能产生副作用的其他绑定。但是这种单一绑定不起作用。
如果我使用变通方法互相添加listerns,那么bidrectional绑定工作
a.chosenFileProperty().addListener((ChangeListener<File>) (observable, oldValue, newValue) -> {
b.setSelectedFile(newValue);
});
b.selectedFileProperty().addListener((ChangeListener<File>) (observable, oldValue, newValue) -> {
a.setChosenFile(newValue);
});
有人知道可能是什么问题吗? 我在另一个案例中使用完全相同的绑定,并且有效....