TextArea的JavaFX CSS样式不起作用

ndasle7k  于 2023-01-22  发布在  Java
关注(0)|答案(5)|浏览(199)

我正在编写一个简单的JavaFX应用程序,但是我无法使用一些CSS样式,问题是TextArea-fx-background-color属性。
这是相关的CSS:

.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之外,所有字段都按预期执行,-fx-background-color显然什么也不做。我仍然使用默认的白色背景。正如您在图片中所看到的,下面的TextField具有相同的CSS,但确实按预期应用了背景颜色。
Picture of my problem
有线索吗?

r6vfmomb

r6vfmomb1#

您需要设置内容:

.text-area .content{
      -fx-background-color: black;
  }

...
或者看到这个答案也许:Transparent background of a textarea in JavaFX 8

cgvd09ve

cgvd09ve2#

我也有同样的问题:我做了什么:
1.已创建名为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;
 }

1.在我的现场叫:

scene.getStylesheets().add(this.getClass()
      .getResource("/stylesheets/console.css").toExternalForm());

说明:

  • 第二部分只是加载css的东西。
  • 第一部分(CSS):你必须检查哪个属性应用于对象的哪个部分。例如:- fx-font-family在. text-area上,而-fx-background-color在. content上。理解这个概念可以让您理解JavaFx中所有的css内容。

JavaFX-CSS-Docu(推荐)。
良好的编程:-)

wfveoks0

wfveoks03#

你在用场景生成器吗?
我尝试了你使用的相同的css和一切工作正常,也许这是一个错误,在您的版本。
我测试了它的文本区域和文本字段。

7gyucuyw

7gyucuyw4#

例如,对于id=textAreaField的文本区域,您应该使用**-fx-control-inner-background**:

#textAreaField {
-fx-control-inner-background: #000000;
-fx-text-fill: #ffffff;}

有关详细信息,请参阅此主题:Textarea javaFx Color

5sxhfpxr

5sxhfpxr5#

在JavaFx中,TextArea有两个子结构(Content和scrollPane),每个结构都具有TextInputControl的所有属性:

text-area{ }
         text-area .content { }
         text-area.scroll-pane { }

相关问题