使用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,重新考虑一下,以找到一个更好的解决方案正确的解决办法。我想,不管是谁干的,他都不知道自己在干什么。