Java中的LookAndFeel

Java'中的几种Look and Feel

1、Metal风格 (默认)   

  String lookAndFeel = "javax.swing.plaf.metal.MetalLookAndFeel"; UIManager.setLookAndFeel(lookAndFeel);

2、Windows风格   

  String lookAndFeel="com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; UIManager.setLookAndFeel(lookAndFeel);

3、Windows Classic风格   

  String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"; UIManager.setLookAndFeel(lookAndFeel);

4、Motif风格   

  String lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; UIManager.setLookAndFeel(lookAndFeel);

5、Mac风格 (需要在相关的操作系统上方可实现)   

  String lookAndFeel = "com.sun.java.swing.plaf.mac.MacLookAndFeel"; UIManager.setLookAndFeel(lookAndFeel);

6、GTK风格 (需要在相关的操作系统上方可实现)   

  String lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; UIManager.setLookAndFeel(lookAndFeel);

7、可跨平台的默认风格   

  String lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName(); UIManager.setLookAndFeel(lookAndFeel);

8、当前系统的风格   

  String lookAndFeel = UIManager.getSystemLookAndFeelClassName(); UIManager.setLookAndFeel(lookAndFeel);


  在Java中让用户能够动态地更改应用的外观,可以给用户更好地体验,具体的实现方式是:    

  1,先使用UIManager.setLookAndFeel(String s)方法设定对应的外观    

  2,再使用SwingUtilities.updateComponentTreeUI(Component c)方法立刻更新应用的外观    

  这两个类均在javax.swing包中, 参考代码如下:

 1 publicvoid actionPerformed(ActionEvent e) { 
 2     String lnfName =null; 
 3     if (e.getActionCommand().equals("Metal")) {  
 4        lnfName ="javax.swing.plaf.metal.MetalLookAndFeel"; 
 5     }
 6     elseif (e.getActionCommand().equals("Motif")) {       
 7        lnfName ="com.sun.java.swing.plaf.motif.MotifLookAndFeel"; 
 8     }
 9     else{ 
10        lnfName ="com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; 
11     }
12     try{ 
13        UIManager.setLookAndFeel(lnfName); 
14        SwingUtilities.updateComponentTreeUI(frame); 
15     }catch (UnsupportedLookAndFeelException ex1) { 
16        System.err.println("Unsupported LookAndFeel: "+ lnfName); 
17     }catch (ClassNotFoundException ex2) { 
18         System.err.println("LookAndFeel class not found: "+ lnfName); 
19    }catch (InstantiationException ex3) { 
20         System.err.println("Could not load LookAndFeel: "+ lnfName); 
21     }catch (IllegalAccessException ex4) {     
22     System.err.println("Cannot use LookAndFeel: "+ lnfName); 
23     }
24 }

 

posted @ 2013-05-21 12:00  亦青  阅读(255)  评论(0)    收藏  举报