我正在编写一个简单的JavaFX应用程序,但我无法使用一些CSS样式。
问题是-fx-background-color
的{{1}}属性。
这是相关的CSS:
TextArea
所有字段都按预期执行,.text-area {
-fx-font-family: Consolas;
-fx-highlight-fill: #00ff00;
-fx-highlight-text-fill: #000000;
-fx-text-fill: #00ff00;
-fx-background-color: #000000;
}
除外,显然什么也没做。我仍然有默认的白色背景。如图所示,下面的-fx-background-color
具有相同的CSS,但会按预期应用背景颜色。
任何线索?
答案 0 :(得分:11)
您需要设置内容:
.text-area .content{
-fx-background-color: black;
}
...
或者看到这个答案可能是:Transparent background of a textarea in JavaFX 8
答案 1 :(得分:2)
我遇到了同样的问题:我做了什么:
创建了一个名为console.css的.css文件,其中包含以下内容:
.text-area {
-fx-font-family: Consolas;
-fx-font-size: 15;
-fx-text-fill: #ffffff;
-fx-display-caret:true;
}
.text-area .content {
-fx-background-color: #000000;
}
在我的场景中叫:
scene.getStylesheets()。添加(this.getClass() .getResource( “/样式表/ console.css”)toExternalForm());
说明:
- 第二部分只是加载css的东西。 (简单)
- 第一部分(css):你必须检查哪个属性必须应用于对象的哪个部分。例如:-fx-font-family在.text-area上,但-fx-background-color在.content上。理解这个概念可以让你理解JavaFx中的所有CSS内容。
JavaFX-CSS-Docu
(推荐)。
良好的编程: - )
答案 2 :(得分:1)
您使用的是场景构建器吗?
我尝试了你使用的相同的CSS,一切正常,也许这是你的版本中的一个错误。
我测试了它的文本区域和文本字段。
答案 3 :(得分:0)
在JavaFx中,TextArea有两个子目录(Content& scrollPane),每个结构都具有TextInputControl的所有属性:
text-area{ }
text-area .content { }
text-area.scroll-pane { }
答案 4 :(得分:0)
例如,对于ID = textAreaField的TextArea,应使用 -fx-control-inner-background :
#textAreaField {
-fx-control-inner-background: #000000;
-fx-text-fill: #ffffff;}
,您可以获取更多信息,请参阅以下主题: Textarea javaFx Color