2
这里是一个最小的工作例如:监听工作,绑定不
public class FF {
@Test
public void test01() {
final ListProperty p = new SimpleListProperty(FXCollections.observableArrayList());
p.addListener((ListChangeListener) c -> {
System.err.println("Listener here..");
});
Bindings.createObjectBinding(() -> {
System.err.println("Binding here");
return null;
}, p);
p.add("hans");
}
@Test
public void test02() {
final ListProperty p = new SimpleListProperty(FXCollections.observableArrayList());
final ListProperty p2 = new SimpleListProperty(FXCollections.observableArrayList());
p.addListener((ListChangeListener) c -> {
System.err.println("Listener 1 here..");
});
p2.addListener((ListChangeListener) c -> {
System.err.println("Listener 2 here..");
});
final ObjectBinding ob = Bindings.createObjectBinding(() -> {
System.err.println("Binding here");
return null;
}, p);
p2.bind(ob);
p.add("hans");
}
}
第二个测试看起来像预期,但对于第一次测试,输出就是“监听器在这里..”。为什么绑定在这种情况下不起作用?
匿名侦听器和匿名绑定有什么区别?