Мне нужно получить цвет фона по умолчанию TableHeader
, но для Windows LookAndFeel
. Я уже попробовал:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
System.out.println(UIManager.getColor("TableHeader.background"));
catch (Exception e) {
e.printStackTrace();
}
Но он просто возвращает цвет по умолчанию (так, как у металлической темы). Как получить цвет фона компонента от определенного LookAndFeel
?
PS.
В этом случае
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
совпадает с
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
EDIT:
Хорошо. Я выяснил, почему он возвращает «неправильное» значение для TabHeaader.background
. Это потому, что цвет, который я хочу, это не TabHeader.background
или TabHeader.foreground
. Но кто-нибудь знает, как получить цвет «фона»?
РЕДАКТИРОВАТЬ 2:
Я обнаружил, что header.setBackground(COLOR);
работает, если вы используете тему по умолчанию. Но когда я устанавливаю LookAndFeel
в Windows, внешний вид header.setBackground(COLOR)
меняет цвет границы.