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