【发布时间】:2019-05-20 03:10:19
【问题描述】:
我有这个代码:
public class Test {
public static void main(String [] args) {
ObservableList<Integer> l = FXCollections.observableArrayList();
l.add(1);
l.add(2);
l.add(3);
BooleanProperty isPlayable = new SimpleBooleanProperty();
isPlayable.bind(Bindings.createBooleanBinding(() ->
{
System.out.println("List has changed");
return l.contains(2);
},l
));
l.remove(1);
我不明白为什么这段代码只会显示一次“列表已更改”?它应该两次,一次在绑定中,然后在删除中,因为列表是可观察的。为什么列表更改不会影响布尔属性?
(我在长代码中有一个更大的问题,但这种情况说明了我对布尔属性绑定的误解)
谢谢!
【问题讨论】:
标签: java javafx binding observable