JavaFX - 负文本值上的标签文本颜色
JavaFX - Label text color on negative text value
我想更改标签的文本颜色,以防其文本值为负数(或以“-”开头)。是否有适当的绑定才能使其正常工作?
不行,需要自己创建,例如
Label label = ...
IntegerExpression value = ...
label.textProperty().bind(value.asString());
label.textFillProperty().bind(Bindings.when(value.lessThan(0))
.then(Color.RED)
.otherwise(Color.BLACK));
如果您没有允许您以这种方式创建条件的表达式,您当然也可以创建依赖于 Label
的 text
属性:
Label label = ...
label.textFillProperty().bind(Bindings.createObjectBinding(() -> label.getText().startsWith("-")
? Color.RED
: Color.BLACK,
label.textProperty()));
我想更改标签的文本颜色,以防其文本值为负数(或以“-”开头)。是否有适当的绑定才能使其正常工作?
不行,需要自己创建,例如
Label label = ...
IntegerExpression value = ...
label.textProperty().bind(value.asString());
label.textFillProperty().bind(Bindings.when(value.lessThan(0))
.then(Color.RED)
.otherwise(Color.BLACK));
如果您没有允许您以这种方式创建条件的表达式,您当然也可以创建依赖于 Label
的 text
属性:
Label label = ...
label.textFillProperty().bind(Bindings.createObjectBinding(() -> label.getText().startsWith("-")
? Color.RED
: Color.BLACK,
label.textProperty()));