Смотреть и чувствовать без жестко закодированных значений - PullRequest
0 голосов
/ 11 июня 2018

Прямо сейчас я установил LaF следующим образом: UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); Он отлично работает и дает тот внешний вид, который я хочу иметь.К сожалению, в какой-то момент в моем коде я должен установить некоторые значки вручную, потому что их автоматическая настройка не работает должным образом (устанавливает неправильный значок).В настоящее время у меня есть:

if (node.getAllowsChildren()) {
    setIcon(UIManager.getIcon("FileView.directoryIcon"));
}else {
    setIcon(UIManager.getIcon("FileView.fileIcon"));
}

, но он не использует значки LaF, и я понятия не имею, как найти значки, похожие на LaF.Итак, мой вопрос, есть ли простой способ получить, скажем, значок папки LaF?


Дизайн, который я сейчас получаю:

enter image description here

И дизайн, который я хочу иметь:

enter image description here

1 Ответ

0 голосов
/ 11 июня 2018

Попробуйте использовать класс UIDefaults, чтобы получить значения:

UIDefaults defaults = UIManager.getLookAndFeelDefaults();
Icon icon = (Icon)defaults.get(...);

Извлечь UIManager По умолчанию .Эти значки изменяются при изменении LAF.

...