每当更改整数变量时,如何将borderpane的left属性更改为某个节点?我使用什么类型的ObjectProperty以及如何绑定它以及监听整数变量?
答案 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())));