我如何为应用程序中的所有组件设置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

07-24 09:53