此代码将Label绑定到一个更新的SimpleIntegerPropertyValue,该值从10到1递减计数。
view.OVERALL_PROGRESS_LABEL.textProperty().bind(timeSeconds.divide(100).asString());
如何根据当前
timeSeconds
值绑定特定值?例如,如果timeSeconds > 500
的值显示“ Greater”,否则显示“ Less”。我尝试绑定返回
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;
}
最佳答案
您可以使用Bindings
根据条件创建绑定。
view.OVERALL_PROGRESS_LABEL.textProperty().bind(Bindings.when(timeSeconds.
greaterThan(500)).then("Greater").otherwise("Less"));