如何通过指数关系将两个 SimpleDoubleProperty 相互绑定? JavaFX

How can I bind two SimpleDoubleProperty`s to each other with an exponential relation? JavaFX

我知道如何进行这样的绑定:

doublePropertyOne.bind(doublePropertyTwo.multiply(2));

我需要的是上面的指数关系的例子:

doublePropertyOne.bind(doublePropertyTwo.asExponentialOfE());

所以我得到一个等于 E^doubleProperty 的 doubleProperty。 有没有什么方法可以实现这种关系,或者您还可以如何实现它?

您可以使用 Bindings class 创建依赖于 doublePropertyTwo 的绑定:

doublePropertyOne.bind(Bindings.createDoubleBinding(() -> Math.exp(doublePropertyTwo.get()), doublePropertyTwo));

此处作为第一个参数传递给 createDoubleBindingCallable 每次从第二个参数开始传递的依赖项(在本例中为 doublePropertyTwo)更改时都会重新评估。