如何在JavaFX中以编程方式设置选项卡标签的颜色或纹理?

2022-09-04 00:55:43

我有一个与几个s。如果操作结果失败,我想将 设置为红色或将纹理设置为散列(对于那些色盲)。我想稍后将重置回其默认值。TabPaneTabTabTabLabelFillColor

通过阅读这里的一些问题,可以使用样式表静态设置它。

#MyTabPane .tab *.tab-label {
    -fx-text-fill: white;
}

如何动态访问并设置其颜色/纹理?Tablabel

tab.setStyle("??");

ELLTZ的补充

如何使用上面提到的内联样式来更改 with 样式类和 ()PaintLabeltab-labelButtonStackPanetab-close-button

所需的代码示例


答案 1

设置图形和样式对我来说是诀窍:

Tab tabB = new Tab();
tabB.setText("");
tabPane.getTabs().add(tabB);
tabB.setStyle("-fx-border-color:red; -fx-background-color: blue;");
tabB.setGraphic(new Label("Tab B"));
tabB.getGraphic().setStyle("-fx-text-fill: #c4d8de;");

答案 2

推荐