每当整数变量更改时,如何将 borderpane 的 left 属性更改为某个节点?我使用什么类型的 ObjectProperty 以及如何绑定(bind)它以及监听整数变量?
最佳答案
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(...)
只是一个为给定整数值检索适当节点的方法。
或者,只需使用监听器而不是绑定(bind):
intProp.addListener((obs, oldValue, newValue) ->
border.setLeft(getLeftNodeForValue(newValue.intValue())));
关于java - 如何使用 JavaFX 将 Borderpane left 属性绑定(bind)到节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728037/