2015-09-26 74 views
0

此代碼綁定一個標籤,這是從10倒數計秒的更新SimpleIntegerPropertyValue - 1更改標籤的綁定值?

view.OVERALL_PROGRESS_LABEL.textProperty().bind(timeSeconds.divide(100).asString()); 

我如何可以綁定取決於目前這timeSeconds值是什麼特定的值?例如,如果值timeSeconds > 500則顯示「大」否則顯示「少」

我試着綁定一個方法,它返回一個ObservableValue但它不正確。 (只運用的數字,看看是否有變化)

private void someMethod(){ 
    view.OVERALL_PROGRESS_LABEL.textProperty().bind(test2()); 
} 

private ObservableValue<? extends String> test2() { 

    ObservableValue<String> test; 
    if (timeSeconds.getValue() < 500){ 
     test = timeSeconds.multiply(1000).asString(); 
    } else { 
     test = timeSeconds.divide(1000).asString(); 
    } 
    return test; 
} 

回答

2

您可以使用Bindings創建基於狀態綁定。

view.OVERALL_PROGRESS_LABEL.textProperty().bind(Bindings.when(timeSeconds. 
           greaterThan(500)).then("Greater").otherwise("Less"));