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、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包中
参考代码如下:
1public void actionPerformed(ActionEvent e) {
2 String lnfName = null;
3 if (e.getActionCommand().equals("Metal")) {
4 lnfName = "javax.swing.plaf.metal.MetalLookAndFeel";
5 } else if (e.getActionCommand().equals("Motif")) {
6 lnfName = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
7 } else {
8 lnfName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
9 }
10 try {
11 UIManager.setLookAndFeel(lnfName);
12 SwingUtilities.updateComponentTreeUI(frame);
13 } catch (UnsupportedLookAndFeelException ex1) {
14 System.err.println("Unsupported LookAndFeel: " + lnfName);
15 } catch (ClassNotFoundException ex2) {
16 System.err.println("LookAndFeel class not found: " + lnfName);
17 } catch (InstantiationException ex3) {
18 System.err.println("Could not load LookAndFeel: " + lnfName);
19 } catch (IllegalAccessException ex4) {
20 System.err.println("Cannot use LookAndFeel: " + lnfName);
21 }
22}
2 String lnfName = null;
3 if (e.getActionCommand().equals("Metal")) {
4 lnfName = "javax.swing.plaf.metal.MetalLookAndFeel";
5 } else if (e.getActionCommand().equals("Motif")) {
6 lnfName = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
7 } else {
8 lnfName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
9 }
10 try {
11 UIManager.setLookAndFeel(lnfName);
12 SwingUtilities.updateComponentTreeUI(frame);
13 } catch (UnsupportedLookAndFeelException ex1) {
14 System.err.println("Unsupported LookAndFeel: " + lnfName);
15 } catch (ClassNotFoundException ex2) {
16 System.err.println("LookAndFeel class not found: " + lnfName);
17 } catch (InstantiationException ex3) {
18 System.err.println("Could not load LookAndFeel: " + lnfName);
19 } catch (IllegalAccessException ex4) {
20 System.err.println("Cannot use LookAndFeel: " + lnfName);
21 }
22}