我将 UI 布局在 .fxml 文件中,然后我有一个用于定义样式的 .css 和一个扩展 AnchorPane 的 JavaFX 控制器。
一般来说,设置某些样式并不难,但是选项卡的标题没有在 .fxml 中明确定义,我似乎无法设置它的样式。我想将单个Tab的颜色设置为红色。
以下是我尝试过的方法:
1-直接在.fxml中设置样式:
<Tab fx:id="tabRed" text="Tab 2" style="-fx-text-fill: red;">
<content>
<AnchorPane minHeight="0" minWidth="0" prefHeight="100" prefWidth="100"/>
</content>
</Tab>
2- 在控制器中设置样式
// an attribute of my Controller class
@FXML public Tab tabRed;
// inside the constructor of said Controller
tabRed.setStyle("-fx-text-fill: red;");
请注意,由于我无法控制的原因,我必须使用这些版本的 Java/JavaFX。
使用 CSS 文件并将该文件链接到您的 FXML 布局。在 CSS 中,您可以添加以下内容来满足您的需求:
.tab .tab-label {
-fx-alignment: CENTER;
-fx-text-fill: #96b946;
-fx-font-size: 12px;
-fx-font-weight: bold;
}