“通过LookAndFeel设置java程序外观”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“<pre class="prettyprint"> public void setLookandFeel() { String look="javax.swing.plaf.metal.MetalLookAndFeel"; //java default if(m_isWindows) ...”为内容创建页面)
 

2015年5月6日 (三) 20:34的最后版本

    public void setLookandFeel() {
        String look="javax.swing.plaf.metal.MetalLookAndFeel";  //java default

        if(m_isWindows)
            look="com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
        else
            look="com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; 

        try
        {
            UIManager.setLookAndFeel(look);
            SwingUtilities.updateComponentTreeUI(this);
            pack();	
        }
        catch(Exception e)
        {
            System.out.println("Exception:"+e);	
        }        
    }

  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包中


参考资料:

http://java.chinaitlab.com/base/818185.html