Java 如何更改特定类型的所有组件的UI?

Java 如何更改特定类型的所有组件的UI?,java,swing,user-interface,uimanager,Java,Swing,User Interface,Uimanager,如何为应用程序中的所有组件设置UI,而不必使用component.setUI(…)引用每个组件 例如,在整个程序中,我有几个自定义的jscrollbar,当您切换到另一个主题时,我必须如下重置所有UI:scrollPane.getVerticalScrollBar().setUI(新的CustomScrollBarUI()) 我宁愿在改变主题时不必逐个查找。有什么方法可以做到这一点吗?您可以在程序的早期更改UIDefaults: UIDefaults uiDefaults = UIManager

如何为应用程序中的所有组件设置UI,而不必使用
component.setUI(…)引用每个组件

例如,在整个程序中,我有几个自定义的
jscrollbar

当您切换到另一个主题时,我必须如下重置所有UI:
scrollPane.getVerticalScrollBar().setUI(新的CustomScrollBarUI())


我宁愿在改变主题时不必逐个查找。有什么方法可以做到这一点吗?

您可以在程序的早期更改
UIDefaults

UIDefaults uiDefaults = UIManager.getDefaults();
uiDefaults.put("ScrollBarUI", new CustomScrollBarUI());

另请参见。

您可以在程序的早期更改
UIDefaults

UIDefaults uiDefaults = UIManager.getDefaults();
uiDefaults.put("ScrollBarUI", new CustomScrollBarUI());
另请参见。

可能的重复(或至少与相同的答案)。另请参见可能的重复(或至少与相同的答案)。另请参见