现在,我像这样设置LaF: UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
它工作正常,并给出了我想要的外观。 可悲的是,在我的代码中,我不得不手动设置一些图标,因为这些图标的自动设置不能正常工作(设置错误的图标)。 我目前有:
if (node.getAllowsChildren()) {
setIcon(UIManager.getIcon("FileView.directoryIcon"));
}else {
setIcon(UIManager.getIcon("FileView.fileIcon"));
}
但是它不使用LaF图标,而且我不知道如何找到看起来像LaF的图标。 所以我的问题是,有没有一种简单的方法可以说出LaF文件夹图标?
我目前得到的设计:
我想要的设计:
尝试使用UIDefaults
类获取值:
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
Icon icon = (Icon)defaults.get(...);
签出UIManager Defaults 。 更改LAF时,此图标也会更改。