我有一个在 Java 7u51 中运行的 Java FXML 应用程序,它是我在 NetBeans 7.4 中构建的。 我已经安装了 Java 8 和 NetBeans 8。 我在 Java 8/NetBeans 8 中重新创建了我的小应用程序。除了一些 css 样式外,一切正常。具体来说,我有一个文本区域。
这是文本区域 FXML:
<TextArea layoutX="1" layoutY="230" minHeight="120" minWidth="320" editable="false" fx:id="eventWindow" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.bottomAnchor="0.0"/>
这是相应的CSS样式:
#eventWindow {
-fx-background-color: black;
-fx-text-fill: white;
}
当我运行应用程序时,我的文本区域的背景保持白色!令人沮丧的是,我的 css 文件中的其他内容表现正常。我已经尝试过以下方法:
1) 我试着把它放在我的 CSS 中:
.events {
-fx-background-color: black;
-fx-text-fill: white;
}
...并将“styleclass="events"' 添加到我的 FXML 中。
2) 我试过了:
.textarea {
-fx-background-color: black;
-fx-text-fill: white;
}
两者都没有骰子。
我还仔细检查以确保没有任何东西可以覆盖它。而且...它在 Java 7u51 中工作得很好。
我知道这不是这个星球上最关键的事情......但它让我抓狂!
提前致谢! -Adeena
最佳答案
问题在于 TextArea 由多个节点(TextArea、ScrollPane、Content)组成。要更改内容节点的背景,可以使用以下 css:
.text-area .scroll-pane .content{
-fx-background-color: black;
}
节点的子结构在 JavaFX css 文档中有解释:http://download.java.net/jdk8/jfxdocs/javafx/scene/doc-files/cssref.html#textarea
关于设置 TextArea 和 StyleSheets/css 背景颜色的 Java 7 到 Java 8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944532/