Binding Object Property
import javafx.beans.binding.Bindings;
import javafx.beans.binding.ObjectBinding;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.effect.Light;
import javafx.scene.effect.Lighting;
import javafx.scene.paint.Color;
public class Main {
public static void main(String[] args) {
ObjectProperty<Lighting> root = new SimpleObjectProperty<Lighting>();
final ObjectBinding<Color> colorBinding = Bindings.select(root, "light", "color");
colorBinding.addListener(new ChangeListener<Color>() {
@Override
public void changed(ObservableValue<? extends Color> observableValue, Color oldValue, Color newValue) {
System.out.println(oldValue + "new = " + newValue);
}
});
Light firstLight = new Light.Point();
firstLight.setColor(Color.BLACK);
Light secondLight = new Light.Point();
secondLight.setColor(Color.WHITE);
Lighting firstLighting = new Lighting();
firstLighting.setLight(firstLight);
root.set(firstLighting);
firstLighting.setLight(firstLight);
firstLight.setColor(Color.RED);
}
}
Related examples in the same category