Как программно установить цвет или текстуру метки вкладок в JavaFX?
У меня есть TabPane
с несколькими Tab
s. Если результаты операции в Tab
не удались, я хочу установить Tab
Label
на Fill
красный или, возможно, текстуру хэшей (для тех, у кого цветная слепота). Я хочу, чтобы reset Color
вернулся к своему по умолчанию, позже.
Из чтения некоторых вопросов здесь можно статически установить его с помощью таблицы стилей.
#MyTabPane .tab *.tab-label {
-fx-text-fill: white;
}
Как получить доступ к Tab
Label
и динамически установить цвет/текстуру?
tab.setStyle("??");
ДОПОЛНЕНИЯ ELLTZ
Как можно использовать встроенные стили, указанные выше, изменить Paint
как Label
на класс стиля tab-label
, так и Button
(StackPane
) также tab-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;");