javafx:如何根据String属性使标签自动更新其文本颜色?

时间:2015-10-10 05:28:09

标签: java javafx

基本上我的Item类有两个StringProperty,即amountupOrDown。他们的价值观将自动更新加班。

到目前为止,我所做的就是将label1 textProperty绑定到第一个StringPropertyamount

fxLabel1.textProperty().bind(item.amountProperty());

问题1:

我还想做的是将此标签文本的颜色绑定到第二个字符串属性upOrDown,即upOrDown为{{1}时文本颜色为金色UPupOrDown时为紫色和紫色。我怎样才能做到这一点?

问题2:

其次,我想在单独的标签中显示图像(不确定标签是否是此处的最佳选项),具体取决于DOWN的字符串值。与练习类似,我想在upOrDownimage1时在标签中显示upOrDown,在UPimage2时显示upOrDown。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:5)

您可以使用绑定:

label.textFillProperty().bind(
             Bindings.when(upOrDown.isEqualTo("UP"))
                                        .then(Color.GOLD).otherwise(Color.PURPLE));

同样,对于您的问题2,您可以使用Bindings将图像加载到ImageView中。