使用Swing皮肤机制

(来自)http://www.javaeye.com/topic/348082

 

关键字:
Swing 皮肤管理器 第三方皮肤库

准备工作:
新建一个项目,使用SWT-Designer或者Netbeans的可视化编辑器设计一个登陆窗口。

内容:Swing允许选择程序的图形界面风格常用的有java风格,windows风格等,默认情况下是选用了java风格。
这里我们先示例一下使用swing系统自带的皮肤:

Java代码
  1. /**  
  2.  * 使用SWING自己代的皮肤中的WINDOWS中的皮肤  
  3.  * 请在main函数中插入该段代码  
  4.  * (注意:要将其放置在窗口定义语句的前面)  
  5.  */  
  6.  try{   
  7.      javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");             
  8.      }catch(Exception e){   
  9.             e.printStackTrace();   
  10.      }  
/**
 * 使用SWING自己代的皮肤中的WINDOWS中的皮肤
 * 请在main函数中插入该段代码
 * (注意:要将其放置在窗口定义语句的前面)
 */
 try{
     javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");          
     }catch(Exception e){
            e.printStackTrace();
     }


在这里,我写了一个示例程序--登陆窗口,在使用皮肤管理之前的效果如下:

我们切换成windows皮肤后的效果图:


利用Swing的LookAndFeel也可以实现时下流行的换肤功能。
还是先看一张效果图:

我们对上述窗口应用了mac主题元素。

Java代码
  1. UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");   
  2. LiquidLookAndFeel.setLiquidDecorations(true"mac");  
UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
LiquidLookAndFeel.setLiquidDecorations(true, "mac");


我们要实现上述效果,只需在窗口启动函数之前添加该代码即可。liquid主题包里还有其他的设置,提供了两套主题,将上面代码中的mac参数去掉,即:

Java代码
  1. UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");   
  2. LiquidLookAndFeel.setLiquidDecorations(true);  
UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
LiquidLookAndFeel.setLiquidDecorations(true);


这就使用了liquid另一套皮肤,也是默认的皮肤。
关于liquid更多详细资料,请参阅该站点:
https://liquidlnf.dev.java.net/

其实Java世界里还有很多的皮肤包,在这里不一一介绍了,更多皮肤,请参阅该站点:
http://www.open-open.com/61.htm

你可能感兴趣的:(.NET开发)