此代码将Label绑定到更新的SimpleIntegerPropertyValue,该值从10 - 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;
}
答案 0 :(得分:2)
您可以使用Bindings
根据条件创建绑定。
view.OVERALL_PROGRESS_LABEL.textProperty().bind(Bindings.when(timeSeconds.
greaterThan(500)).then("Greater").otherwise("Less"));