使用CSS样式的文本不会显示为白色

使用CSS样式的文本不会显示为白色,css,javafx,Css,Javafx,我有这个密码: private void createAndAddCommonInformationSection(){ Text text = new Text("CommonText"); gridPane.add(header); } 应该以白色显示,因此我有一个CCS文件,如下所示: .root { -fx-base: rgb(50, 50, 50); -fx-background: rgb(50, 50, 50); -fx-control-inner-backgrou

我有这个密码:

private void createAndAddCommonInformationSection(){
    Text text = new Text("CommonText");
    gridPane.add(header);
}
应该以白色显示,因此我有一个CCS文件,如下所示:

.root {
-fx-base: rgb(50, 50, 50);
-fx-background: rgb(50, 50, 50);
-fx-control-inner-background:  rgb(50, 50, 50);
}

.tab {
-fx-background-color: linear-gradient(to top, -fx-base, derive(-fx-base,30%));
}

.menu-bar {
-fx-background-color: linear-gradient(to bottom, -fx-base, derive(-fx-base,30%));
}

.tool-bar:horizontal {
-fx-background-color:
linear-gradient(to bottom, derive(-fx-base,+50%), derive(-fx-base,-40%), derive(-fx-base,-20%));
}

.button {
-fx-background-color: transparent;
}

.button:hover {
-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-color: -fx-hover-base;
}

.table-view {
-fx-table-cell-border-color:derive(-fx-base,+10%);
-fx-table-header-border-color:derive(-fx-base,+20%);
}

.split-pane:horizontal > * > .split-pane-divider {
-fx-border-color: transparent -fx-base transparent -fx-base;
-fx-background-color: transparent, derive(-fx-base,20%);
-fx-background-insets: 0, 0 1 0 1;
}

.my-gridpane {
-fx-background-color: radial-gradient(radius 100%, derive(-fx-base,20%), derive(-fx-base,-20%));
}

.separator-label {
-fx-text-fill: orange;
}

.text{
-fx-text-fill: white;
}
除了代码片段中文本的颜色没有以预期的颜色显示之外,CSS文件的所有功能都正常工作

我已经试过了

-fx-fill: white;

但没有任何帮助

我做错了什么?

根据,
Text
节点没有默认的样式类。所以你需要

text.getStyleClass().add("text");
以使文本节点与CSS选择器匹配。然后

.text{
-外汇填充:白色;
}
会有用的

如果要使用CSS对其进行样式设置,通常会使用
标签
以及
fx text fill
属性,不过手动将样式类添加到
文本
节点应该可以工作。

根据
文本
节点没有默认样式类。所以你需要

text.getStyleClass().add("text");
以使文本节点与CSS选择器匹配。然后

.text{
-外汇填充:白色;
}
会有用的


如果要使用CSS对其进行样式设置,通常会使用
标签
fx text fill
属性,不过手动将样式类添加到
text
节点应该是可行的。

@Rounin猜测这与问题中的
javafx
有关。@Rounin阅读:“已经建立了命名约定,用于从JavaFX类名派生CSS样式类名,以及从JavaFX变量名派生CSS属性名。。。将JavaFX变量名映射到CSS属性名的约定类似,只是添加了“-fx-”前缀。“@Rounin猜测这与问题中的
JavaFX
有关。@Rounin阅读:“命名约定已建立,用于从JavaFX类名派生CSS样式的类名,以及从JavaFX变量名派生CSS属性名。。。将JavaFX变量名映射到CSS属性名的约定类似,添加了“-fx-”前缀。“我希望避免将所有内容都更改为标签(这是一个现有代码,不是我自己的)。出于某种原因,此代码根本不使用任何标签。”(@Marco这听起来很有趣……我会让你评估手工添加一堆样式类,或者将所有
Text
实例更改为
Label
s是否更容易……真是一团糟!代码本身中有一些样式,CSS也有一些样式。我想我今天会关闭Eclipse,重新考虑一下,以找到一个更好的解决方案正确的解决方案。我想,不管是谁做的,他都不知道自己在做什么。我希望避免将所有内容更改为标签(这是一个现有代码,不是我自己的)。出于某种原因,此代码根本不使用任何标签:(@Marco这听起来很有趣……我会让你评估手工添加一堆样式类,或者将所有
Text
实例更改为
Label
s是否更容易……真是一团糟!代码本身中有一些样式,CSS也有一些样式。我想我今天会关闭Eclipse,重新考虑一下,以找到一个更好的解决方案正确的解决办法。我想,不管是谁干的,他都不知道自己在干什么。