【发布时间】:2015-05-12 02:50:56
【问题描述】:
在我的 JavaFX 应用程序中,我使用 TitledPane 并覆盖 Graphic 元素为我的 TitledPane 标头添加一些特殊内容。有点像我期望的那样工作。现在我试图在标题中添加一些 CSS 样式。在 JavaFX CSS 参考文档中,TitledPane 结构的定义如下:
Substructure
title — HBox
text — Label/li>
arrow-button — StackPane/li>
arrow — StackPane
content — StackPane/li>
因此我可以访问标题 hbox 的样式:
.my-titled-pane > .title {
-fx-background-color: red;
}
这也有效。现在我的问题。我试图根据某些代码为标题元素添加特定的填充。我目前的解决方案是这样的:
[...]
myTitledPane.getStyleClass().set(0, myTitledPane.getStyleClass.get(0) + getSomeCSSStylingClass());
[...]
在 CSS 中,我为 getSomeCSSStylingClass() 返回的所有不同可能性定义了样式。
.my-titled-pane-sample-one > .title {
-fx-padding: 10;
}
.my-titled-pane-sample-two > .title {
-fx-padding: 10;
}
但是这个解决方案看起来很糟糕。有没有可能做得更容易更好?有什么方法可以获取.title 元素并向其添加样式类吗?
我使用的是 Java 版本:Java8_31
【问题讨论】: