2016-07-28 28 views
0

Ich weiß, wie eine Bindung wie dies zu tun:Wie kann ich zwei SimpleDoubleProperty mit einer exponentiellen Beziehung miteinander verbinden? JavaFX

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

Was ich brauche, ist das obige Beispiel mit einer exponentiellen Beziehung:

doublePropertyOne.bind(doublePropertyTwo.asExponentialOfE()); 

So dass ich eine doubleProperty erhalten, die E^doubleProperty gleich . Gibt es eine Möglichkeit, diese Beziehung zu erreichen oder wie sonst würden Sie es implementieren?

Antwort

3

Sie die Bindings class zu Kiste verwenden können, ein, dass die Bindung ist abhängig von doublePropertyTwo:

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

Hier ist die Callable als erster Parameter zu createDoubleBinding geben wird jedes Mal der Abhängigkeiten neu bewertet geleitet, die mit dem zweiten Parameter beginnen (in diesem Fall doublePropertyTwo) ändern.