如何使用JavaFX将Borderpane left属性绑定到节点

时间:2016-11-21 19:39:51

标签: java javafx

每当更改整数变量时,如何将borderpane的left属性更改为某个节点?我使用什么类型的ObjectProperty以及如何绑定它以及监听整数变量?

1 个答案:

答案 0 :(得分:1)

BorderPane border = new BorderPane();
IntegerProperty intProp = new SimpleIntegerProperty();

border.leftProperty().bind(Bindings.createObjectProperty(
    () -> {
        int value = intProp.get();
        Node node = getLeftNodeForValue(value);
        return node ;
    },
    intProp));

其中getLeftNodeForValue(...)只是一个为给定整数值检索适当节点的方法。

或者,只需使用侦听器而不是绑定:

intProp.addListener((obs, oldValue, newValue) -> 
    border.setLeft(getLeftNodeForValue(newValue.intValue())));