2016-11-21 72 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()))); 
相關問題