如何更改某种类型的所有组件的UI?

时间:2012-01-22 13:07:32

标签: java swing user-interface uimanager

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

例如,我的整个程序中有几个自定义JScrollbars,当您切换到另一个主题时,我必须重置所有的UI,如下所示:scrollPane.getVerticalScrollBar().setUI(new CustomScrollBarUI());

在更改主题时,我宁愿不必单独查找每个人。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

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

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

另见Changing UI Default Settings in Java: The UIDefaults Class