TextArea的JavaFX CSS样式不起作用

时间:2014-02-01 03:04:23

标签: java css javafx

我正在编写一个简单的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,但会按预期应用背景颜色。

Picture of my problem

任何线索?

5 个答案:

答案 0 :(得分:11)

您需要设置内容:

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

...

或者看到这个答案可能是:Transparent background of a textarea in JavaFX 8

答案 1 :(得分:2)

我遇到了同样的问题:我做了什么:

  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;
    }
    
  2. 在我的场景中叫:

    scene.getStylesheets()。添加(this.getClass() .getResource( “/样式表/ console.css”)toExternalForm());

  3. 说明:
    - 第二部分只是加载css的东西。 (简单)

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

    JavaFX-CSS-Docu (推荐)。

    良好的编程: - )

答案 2 :(得分:1)

您使用的是场景构建器吗?

我尝试了你使用的相同的CSS,一切正常,也许这是你的版本中的一个错误。

我测试了它的文本区域和文本字段。

Image

答案 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