展开全部
通过UIManager.setLookAndFeel(32313133353236313431303231363533e59b9ee7ad9431333337383835String className)设置窗口皮肤,然后调用控件的updateUI方法来应用新的UI。示例代码如下:myButton.addActionListener(new ActionListener()){
public void actionPerformed(ActionEvent e){
updateAllUI(topContainer/*最顶层的容器*/);
}
}
public static void updateAllUI(Component c) {
if (c == null) return;
try {
if (c instanceof JComponent) {
((JComponent) c).updateUI();//
} else {
c.repaint();
}
} catch (Exception e) {
e.printStackTrace();
}
if (c instanceof Container) {
if (c instanceof JMenu) {// 注意菜单的更新与其他不同
Component[] cs = ((JMenu) c).getMenuComponents();
for (Component c2 : cs) {
updateAllUI(c2);
}
}
Component[] cs = ((Container) c).getComponents();
for (Component c2 : cs) {
updateAllUI(c2);
}
}
}