import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class UILookAndFeelManager { public static final String LOOK_AND_FEEL_WINDOWS = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; public static final String LOOK_AND_FEEL_METAL = "javax.swing.plaf.metal.MetalLookAndFeel"; public static final String LOOK_AND_FEEL_MOTIF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; public static final String LOOK_AND_FEEL_NIMBUS = "javax.swing.plaf.nimbus.NimbusLookAndFeel"; public static final String LOOK_AND_FEEL_WINDOWS_CLASSIC = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"; private static String currentLookAndFeel = ""; public synchronized static void setLookAndFeel(String lookAndFeel) { if (lookAndFeel.equals(currentLookAndFeel)) { return; } currentLookAndFeel = lookAndFeel; try { UIManager.setLookAndFeel(currentLookAndFeel); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } SwingUtilities .updateComponentTreeUI(这里为您的JFrame对象或JApplet对象,自己想办法传过来吧,比如在本类中添加一个静态变量);//这里需要注意的地方是: 如果通过JApplet中的菜单来更改外观,那么这条语句的参数需要为this,但是会提示不能用this作为参数,这也就是为何这里要把更改外观作为单独一个类的原因。 } }