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

myn*_*EFF 3 java javafx

基本上,我的Item类有两个StringProperty,即amountupOrDown。它们的值将自动更新超时。

所有到目前为止,我所做的是绑定label1textProperty,以第一StringPropertyamount

fxLabel1.textProperty().bind(item.amountProperty());
Run Code Online (Sandbox Code Playgroud)

问题1:

我也希望做的就是这个标签的文本到第二String属性的颜色结合upOrDown,即文字颜色是金,当upOrDownUP当紫色upOrDownDOWN。我该如何实现?

问题2:

其次,我想根据的字符串值在单独的标签中显示图像(不确定标签在这里是否是最佳选择)upOrDown。在演习类似,我想显示image1在标签的时候upOrDownUPimage2upOrDownDOWN。我该如何实现?

Ita*_*iha 6

您可以为此使用绑定:

label.textFillProperty().bind(
             Bindings.when(upOrDown.isEqualTo("UP"))
                                        .then(Color.GOLD).otherwise(Color.PURPLE));
Run Code Online (Sandbox Code Playgroud)

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