Как я могу получить цвет текста кнопки, используя вещество LAF?
Вопрос
В моем приложении Java я должен настроить контроль, и для этого мне нужно использовать такие же цвета шрифта, как JButton
. Отказ (Включено и отключено) Я не хочу их сложно, потому что пользователь может изменить кожу вещества во время выполнения.
Я в курсе ColorSchemes
Но я не уверен, как продолжить, как только у меня есть цветовая схема текущей кожи. Также документация вещества говорит о создании собственной цветовой схемы, но я просто не могу понять способ извлечения определенного цвета.
Решение
Хорошо, наконец я подумал это:
Важный шаг - выяснить правильный Цветовая схема. Потому что в веществе каждая корневая панель может иметь свою собственную кожу, лучше всего использовать getCurrentSkin
помощник.
SubstanceColorScheme s = SubstanceLookAndFeel
.getCurrentSkin(myComponent)
.getEnabledColorScheme(
SubstanceLookAndFeel.getDecorationType(myComponent)
);
Другие возможности есть getDisabledColorScheme
, getActiveColorScheme
а также getBackgroundColorScheme
.
Тогда вы можете использовать s.getForegroundColor
или различные помощники методов от SubstanceColorUtilities
.
Другие советы
Почему бы вам не спросить Кирилл (Создатель вещества) на форуме вещества в https://substance.dev.java.net/servlets/projectforumview.