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属性类实现三个属性,然后向每个属性注册特定的更改侦听器。有没有理由不使用这种方法?