JavaFX:如何知道可观察对象的哪一部分被修改了?
假设我有一个具有一些属性的可观察类:JavaFX:如何知道可观察对象的哪一部分被修改了?,java,javafx,javafx-8,Java,Javafx,Javafx 8,假设我有一个具有一些属性的可观察类: public class ObservableClass implements Observable { private Property1 property1; private Property2 property2; private Property3 property3; (... getters and setters who invalidate the object) } 如果我有一个对模型更改做出反应的视图类: public
public class ObservableClass implements Observable {
private Property1 property1;
private Property2 property2;
private Property3 property3;
(... getters and setters who invalidate the object)
}
如果我有一个对模型更改做出反应的视图
类:
public class View implements InvalidationListener{
@Override
public void invalidated(Observable observable) {
// What should go here?
}
}
如何确定模型的哪个属性已更改?我不想为模型的每一个小更改重新计算整个视图,因此如何为每个属性指定单独的侦听器?如果属性由(并且仅由)一个
getter更新,您可以使用If来标记对它的更改。通常的方法是使用JavaFX属性类实现三个属性,然后向每个属性注册特定的更改侦听器。有没有理由不使用这种方法?