package javafxsamples; import javafx.application.Application; import javafx.beans.binding.Bindings; import javafx.beans.binding.StringExpression; import javafx.beans.property.ObjectProperty; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.stage.Stage; /** * Binding test * @author Alex */ public class BidingTest extends Application{ @Override public void start(Stage primaryStage) throws Exception { testStringExpression(); } void testStringExpression() { final ObjectProperty objectProperty = new ObjectProperty(new Double(Math.PI)); final StringExpression stringExpression = Bindings.convert(objectProperty); stringExpression.addListener(new ChangeListener(){ @Override public void changed(ObservableValue observable, String oldValue, String newValue) { System.out.println(String.format("change:[old=%s, new=%s]", oldValue, newValue)); } }); objectProperty.set(new Double(Math.E)); objectProperty.set(null); } public static void main(String[] args) { launch(args); } }