(来自)http://www.javaeye.com/topic/348082
关键字:
Swing 皮肤管理器 第三方皮肤库
准备工作:
新建一个项目,使用SWT-Designer或者Netbeans的可视化编辑器设计一个登陆窗口。
内容:Swing允许选择程序的图形界面风格常用的有java风格,windows风格等,默认情况下是选用了java风格。
这里我们先示例一下使用swing系统自带的皮肤:
- /**
- * 使用SWING自己代的皮肤中的WINDOWS中的皮肤
- * 请在main函数中插入该段代码
- * (注意:要将其放置在窗口定义语句的前面)
- */
- try{
- javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
- }catch(Exception e){
- e.printStackTrace();
- }
/**
* 使用SWING自己代的皮肤中的WINDOWS中的皮肤
* 请在main函数中插入该段代码
* (注意:要将其放置在窗口定义语句的前面)
*/
try{
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}catch(Exception e){
e.printStackTrace();
}
在这里,我写了一个示例程序--登陆窗口,在使用皮肤管理之前的效果如下:
我们切换成windows皮肤后的效果图:
利用Swing的LookAndFeel也可以实现时下流行的换肤功能。
还是先看一张效果图:
我们对上述窗口应用了mac主题元素。
- UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
- LiquidLookAndFeel.setLiquidDecorations(true, "mac");
UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
LiquidLookAndFeel.setLiquidDecorations(true, "mac");
我们要实现上述效果,只需在窗口启动函数之前添加该代码即可。liquid主题包里还有其他的设置,提供了两套主题,将上面代码中的mac参数去掉,即:
- UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
- 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