javafx:如何使标签根据字符串属性自动更新其文本颜色?
基本上,我的Item类有两个javafx:如何使标签根据字符串属性自动更新其文本颜色?,java,javafx,Java,Javafx,基本上,我的Item类有两个StringPropertys,即amount和upOrDown。它们的值将随时间自动更新 到目前为止,我所做的只是将label1的textProperty绑定到第一个StringProperty,amount fxLabel1.textProperty().bind(item.amountProperty()); 问题1: 我还想做的是将此标签文本的颜色绑定到第二个字符串属性upOrDown,即当upOrDown为UP时文本颜色为金色,当upOrDown为DOWN
StringProperty
s,即amount
和upOrDown
。它们的值将随时间自动更新
到目前为止,我所做的只是将label1
的textProperty
绑定到第一个StringProperty
,amount
fxLabel1.textProperty().bind(item.amountProperty());
问题1:
我还想做的是将此标签文本的颜色绑定到第二个字符串属性upOrDown
,即当upOrDown
为UP
时文本颜色为金色,当upOrDown
为DOWN
时文本颜色为紫色。我怎样才能做到这一点
问题2:
其次,我希望根据
upOrDown
的字符串值,在单独的标签中显示图像(不确定标签是否是这里的最佳选项)。与练习类似,我想在upOrDown
为UP
时在标签中显示image1
,在upOrDown
为DOWN
时在标签中显示image2
。如何实现这一点?您可以使用绑定:
label.textFillProperty().bind(
Bindings.when(upOrDown.isEqualTo("UP"))
.then(Color.GOLD).otherwise(Color.PURPLE));
同样,对于问题2,您可以使用绑定将图像加载到ImageView中。如果有三种情况,即向上、向下、无更改,您将如何处理这种情况?您将如何使用
if..else..
?很高兴您能理解:)