如果其中一个元素更改了其属性之一(更新事件),我可以使用提取器 ( Callback<E, Observable[]> extractor
) 来生成火灾更改事件。ListProperty
是否有等价物ObjectProperty<>
?我有一个SimpleObjectProperty
我想在它的值(另一种 bean 类型)的属性更改(更新更改事件)时触发事件。
示例代码:
public class TestBean {
public static <T extends TestBean> Callback<T, Observable[]> extractor() {
return (final T o) -> new Observable[] { o.testPropertyProperty() };
}
private final StringProperty testProperty = new SimpleStringProperty();
public final StringProperty testPropertyProperty() {
return this.testProperty;
}
public final String getTestProperty() {
return this.testPropertyProperty().get();
}
public final void setTestProperty(final String testProperty) {
this.testPropertyProperty().set(testProperty);
}
}
public class SomeType {
/**
* How can I listen for changes of TestBean#testProperty?
*/
private final ObjectProperty<TestBean> property = new SimpleObjectProperty<>();
}
如果值发生更改,我想接收更改事件SomeType#property
,而且,如果SomeType#property#testProperty
发生更改。
我不能只听SomeType#property#testProperty
,因为我不会在SomeType#property
更改时收到通知(然后我会在错误的对象上听更改)。