javafx:将Label的textFillProperty绑定到一个值

时间:2016-03-21 13:19:34

标签: javafx binding

我有一个类currentVoyage,它有一个SimpleFloatProperty profitLossProperty(),它绑定到一个标签:

 profitLossLabel.textProperty().bind(
Bindings.format("$%.0f", currentVoyage.profitLossProperty()
));

这很好用,所以当profitLoss值改变时标签会更新。 现在我希望标签中的文本在值低于零时变为红色。我已经尝试过以下代码,但编译器抱怨then()方法无法识别Color对象(但似乎otherwise()方法确实如此)。我确定它很简单,但无法弄明白......

以下是代码:

profitLossLabel.textFillProperty().bind(
 Bindings.when(currentVoyage.profitLossProperty().greaterThanOrEqualTo(0)
.then(Color.BLACK).otherwise(Color.RED)
));

0 个答案:

没有答案