#java #swing #look-and-feel #nimbus
#java #swing #внешний вид #nimbus
Вопрос:
Я хотел бы изменить цвет заголовка моих вкладок.
Я пытался установить разные свойства, но ничего не меняется.
В моем основном я установил для свойства text
значение white, чтобы весь текст был белым.
Теперь я хотел бы изменить текст некоторых компонентов, например, на панели вкладок, но он не меняется.
UIDefaults tabPaneDefaults = new UIDefaults();
tabPaneDefaults.put("textBackground", new ColorUIResource(Color.black));
tabPaneSettings.putClientProperty("Nimbus.Overrides", tabPaneDefaults);
tabPaneSettings.putClientProperty("Nimbus.Overrides.InheritDefaults",false);`
Ответ №1:
Я думаю, что фактическое значение для настройки фона текста — «TabbedPane.background». Итак, ваш код должен начинаться с:
UIDefaults tabPaneDefaults = new UIDefaults();
tabPaneDefaults.put("TabbedPane.background", new ColorUIResource(Color.black));
Комментарии:
1. Я пробовал использовать эти свойства и несколько других, но ничего не меняется.
2. В Nimbus есть что-то дерьмовое, я думаю, что он не использует
UIDefaults
переопределение цветов. Я перепробовал множество комбинаций для изменения цветов, но ни одна из них не сработала: (
Ответ №2:
Nimbus TabbedPaneTabPainter очень сложен. Смотрите Oracle: TabedPaneTabPainter
Вы должны установить
UIManager.put("nimbusBase", *here dark Color*);
«nimubsBase» на темный цвет.
Красиво выглядит настройка кнопок и т.д. на соответствующий цвет. Выберите
UIManager.put("nimbusBlueGrey", *here light Color*);
Требуется некоторое время, чтобы найти подходящую пару цветов. Иногда даже небольшие изменения дают отличный эффект, иногда большие изменения почти не дают эффекта. Это из-за сложного вычисления цветов.