我如何为应用程序中的所有组件设置UI,而不必使用component.setUI(...);
引用每个组件?
例如,我在程序中有几个自定义JScrollbars
,当您切换到另一个主题时,我必须像这样重置所有UI:scrollPane.getVerticalScrollBar().setUI(new CustomScrollBarUI());
更改主题时,我希望不必分别查找每个主题。有没有办法做到这一点?
最佳答案
您可以在程序的早期更改UIDefaults
:
UIDefaults uiDefaults = UIManager.getDefaults();
uiDefaults.put("ScrollBarUI", new CustomScrollBarUI());
另请参见Changing UI Default Settings in Java: The UIDefaults Class。