2016-11-21 38 views

回答

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()))); 
相关问题