JavaFX和泛型-观察节点的属性,它是一个observeValue

JavaFX和泛型-观察节点的属性,它是一个observeValue,java,generics,javafx,Java,Generics,Javafx,给定声明为的JavaFX节点的属性: public final ReadOnlyObjectProperty<Bounds> boundsInParentProperty …这是一个可观察的价值。以及在相应的ChangeListener中实现的方法: 方法中的第一个参数是什么 起初,我使用observedValue.getValue,但后来我能够仅从第二个和第三个参数newvalue-oldvalue计算边界各种坐标的增量。参数的类型是已知边界,因此它不像键值模式。我非常不相信我不

给定声明为的JavaFX节点的属性:

public final ReadOnlyObjectProperty<Bounds> boundsInParentProperty
…这是一个可观察的价值。以及在相应的ChangeListener中实现的方法:

方法中的第一个参数是什么

起初,我使用observedValue.getValue,但后来我能够仅从第二个和第三个参数newvalue-oldvalue计算边界各种坐标的增量。参数的类型是已知边界,因此它不像键值模式。我非常不相信我不理解的东西,那么这个“观察到的价值”是什么,我应该使用它吗


编辑:在注释之后,我理解它用于确定事件源是哪个ObservalEvalue。假设我想在屏幕上的两个可拖动节点之间画一条线,我想用这种方式跟踪这两个节点的边界。如何确定变更事件的源节点以获取其引用

有时候,你会让你的听众接受多个变量的变化,你可能会对其中哪一个发生了变化感兴趣。这是观察者实现中非常流行的技巧。

即,observedValue是对已更改属性的引用。或者更具体地说:As observedValue将在boundsInParentProperty中传递,因为触发更改的是observedValue的实例。
public void changed(ObservableValue<? extends Bounds> observedValue, Bounds oldvalue, Bounds newvalue)