在没有 CSS 的情况下设置 JavaFX 组件的样式

问题描述 投票:0回答:1

我经常想为 JavaFX 组件做一些简单的样式设置,例如更改树形表格单元格的背景。我找不到任何替代品

cell.setStyle("-fx-background-color: blue");

对于同一个表格单元格,我还想更改文本的颜色:

cell.setTextFill(Color.WHITE);

编写第二个方法调用远比在

setStyle("???")
中摆弄字符串更不容易出错,更不用说使用
.css
文件进行样式设置了。 @jewelsea 告诉我我在这里遗漏了一些东西。谁能给我提示吗?

javafx javafx-css
1个回答
0
投票

所有 CSS 属性都与相应对象中的属性相对应,尽管命名并不总是相同。您可以使用文档来发现相应的 Java 属性。

在此特定情况下,请注意

-fx-background-color
Region
的 CSS 属性。参考 Region
Javadocs,您将看到有一个
background
属性
,需要
Background
类型的参数。在 JavaFX 18 及更高版本中,您可以使用静态便捷方法
Background.fill(...)
来创建给定特定填充(例如颜色)的背景。

那么

cell.setBackground(Background.fill(Color.BLUE));

将给出所需的结果。

© www.soinside.com 2019 - 2024. All rights reserved.