当前位置: 首页 > 知识库问答 >
问题:

javafx标签文本颜色动态绑定

帅颖逸
2023-03-14

我有一个标签labelsign,它显示+ve或-ve符号。

我还有另一个标签LabelValue标签的文本颜色取决于LabelSign的文本。

如果标签符号有3种情况:+ve-veempty,如果标签符号为empt,则如何处理labelvalue的文本为黑色?

共有1个答案

璩正志
2023-03-14

使用bindings.createObjectBinding创建一个将text属性作为依赖项的绑定。

private static Color textToColor(String text) {
    ...
}
labelValue.textFillProperty().bind(Bindings.createObjectBinding(() -> textToColor(labelSign.getText()), labelSign.textProperty());

这允许您使用任意算法来确定基于文本的颜色。每次更新一个依赖项(在本例中是标签文本属性)时,都会发生更新。

另一方面,如果文本为空(=空字符串),则可以设置任意文本颜色而不更改显示结果。

 类似资料:
  • 在我的项目中,我想实现一个语法突出显示功能。我的意思是,当用户在代码区键入代码时,文本将像IDE(Eclipse、Intellij、Netbeans)一样立即高亮显示。 例如,如果我们在IntellijJavaIDE中键入“import”,那么它会将单词“import”涂成蓝色。在我的项目中,我想实现同样的事情。 我的目标是用蓝色突出特定的关键词。例如,如果关键字是“mov”、“load”、“xo

  • 我使用TextInputLayout,如果输入字段是强制性的,我希望以编程方式设置提示文本颜色和浮动标签颜色。在转到TextInputLayout之前,我使用以下方法以编程方式设置提示文本颜色 有人能指导我如何通过编程方式为TextInputLayout设置提示文本颜色和浮动标签颜色吗。

  • 标题文字颜色的动作是不改变的,如何改变标题文字颜色的动作栏?这是我的风格。xml 风格xml

  • 我正在尝试为用Java编写的应用程序制作GUI。 我用Scene Builder制作了fxml文档,正确设置了fx: id,现在我正在尝试对表单进行简单的更改。 我的DocumentController: 我的外汇主文件: 我现在想要的一切,都是将LabelData设置为实际时间戳,但当我运行FX主文件时,什么都不会发生。有人能帮我吗? 谢谢你保罗 更新时间: 我的整个FXML文档: 我想要的一切

  • 我在fxml文件中有一个JavaFX GUI,定义了它的控制器类。我在该GUI中有两个我想要的文本项,一个与一个变量绑定,其值在用户重新加载屏幕之前不会更改,另一个我认为需要是StringProperty,因为它显示了我的TableView中一列的运行总数。由于它们是什么,我正在尝试使用Label而不是TextField作为它们的显示控件。 我喜欢塞巴斯蒂安对这个问题的回答: 在JavaFx标签中

  • 主要内容:RGB颜色,颜色名称,颜色alpha通道,HSB颜色,Web颜色在JavaFX中,我们可以在对象上应用颜色(Paint)。在JavaFX中,所有形状都可以填充简单的颜色和渐变颜色。 RGB颜色 当指定颜色值时,可以使用默认的颜色空间中的颜色。 要创建颜色,请使用方法。此方法使用三个整数值,表示红色,绿色和蓝色分量。请阅读以下一段简单的代码 - 执行上面的代码,得到以下结果 - 颜色名称 以下代码根据颜色名称创建颜色。如:,请参阅如下代码 - 执行上面的代码,得