Swing 皮肤包
来源:互联网 发布:金薇内衣是网络传销么 编辑:程序博客网 时间:2024/04/29 19:27
http://javootoo.l2fprod.com/index.html 该网站上有收费和开源的皮肤包。
加载皮肤包的代码在这里简单说下,加入JAR包,在窗体加载代码前加入以下代码,窗体最好以线程启动。
代码就不用多说了,来看下效果。substance有BUG,它不是完全开源的,不过它的皮肤包很多
idw-gpl
com.jtattoo.plaf.bernstein.BernsteinLookAndFeel
net.beeger.squareness.SquarenessLookAndFeel
大家可能会问了,什么叫着完整的使用Look&Feel?这里先不急着说明,先让大家看一副截图;
大家看看上面幅图是否已经用了Look&Feel? 答案是正确的,但是并不完整,因为他的标题栏还没有改变,完整的使用Look&Feel后的截图如下:
是不是觉得很不一样了呢?对于Swing 的老手来说,这个是小菜一碟,但是对于新手来说就比较困难了,因为他们看到的使用look&feel的许多教程都是像
这样的:
加载皮肤包的代码在这里简单说下,加入JAR包,在窗体加载代码前加入以下代码,窗体最好以线程启动。
protected void startup() {
try {
UIManager.setLookAndFeel(new NapkinLookAndFeel());
///每个皮肤包都有一个****LookAndFeel类,查下文档或看下JAR都能找到,在这里改下就可以了
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(TestSkin1View.class.getName()).log(Level.SEVERE, null, ex);
}
show(new TestSkin1View(this));
}
我的环境是NetBean6.8try {
UIManager.setLookAndFeel(new NapkinLookAndFeel());
///每个皮肤包都有一个****LookAndFeel类,查下文档或看下JAR都能找到,在这里改下就可以了
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(TestSkin1View.class.getName()).log(Level.SEVERE, null, ex);
}
show(new TestSkin1View(this));
}
代码就不用多说了,来看下效果。substance有BUG,它不是完全开源的,不过它的皮肤包很多
Napkin Look & Feel
Liquid look & feel
idw-gpl
JTattoo
com.jtattoo.plaf.smart.SmartLookAndFeel
com.jtattoo.plaf.bernstein.BernsteinLookAndFeel
Squareness Look and Feel
net.beeger.squareness.SquarenessLookAndFeel
第一个问题:如何完整的使用Look&Feel?
大家可能会问了,什么叫着完整的使用Look&Feel?这里先不急着说明,先让大家看一副截图;
大家看看上面幅图是否已经用了Look&Feel? 答案是正确的,但是并不完整,因为他的标题栏还没有改变,完整的使用Look&Feel后的截图如下:
是不是觉得很不一样了呢?对于Swing 的老手来说,这个是小菜一碟,但是对于新手来说就比较困难了,因为他们看到的使用look&feel的许多教程都是像
这样的:
UIManager.setLookAndFeel( new SubstanceOfficeBlue2007LookAndFeel());
或者这样:
try {
UIManager.setLookAndFeel( " org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel " );
} catch (Exception e) {
System.out.println( " Substance Raven Graphite failed to initialize " );
}
UIManager.setLookAndFeel( " org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel " );
} catch (Exception e) {
System.out.println( " Substance Raven Graphite failed to initialize " );
}
或者说是我自己太菜了吧。总之我在认真学习Swing的外观使用之前我是不知道该如何使标题栏也改变的。
要改变标题栏其实只要一句话就够了,就是在main方法中添加这么一句:
JFrame.setDefaultLookAndFeelDecorated( true );
如果想要让JDialog也改变的话,还要再加上: JDilog.setDefaultLookAndFeelDecorated(true);
下面是最终完成的界面,使用的是Substance中 OfficeBlue2007LookAndFeel :
第二个问题,如何给应用程序添加水印或者说是背景?
官方的文档说的很少,也没有具体的使用例子说明,后来下载了Substance的源码来看才发现该如何使用。
以下就是我参考官方源码写的在main方法中的一段核心代码
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
SubstanceImageWatermark watermark = new SubstanceImageWatermark(LoginFrame. class .getResourceAsStream( "/demo/001.jpg " ));
watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);
SubstanceSkin skin = new OfficeBlue2007Skin().withWatermark(watermark); //初始化有水印的皮肤
UIManager.setLookAndFeel( new SubstanceOfficeBlue2007LookAndFeel());
SubstanceLookAndFeel.setSkin(skin); //设置皮肤
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(LoginFrame. class .getName()).log(Level.SEVERE, null , ex);
}
JDialog.setDefaultLookAndFeelDecorated(true);
try {
SubstanceImageWatermark watermark = new SubstanceImageWatermark(LoginFrame. class .getResourceAsStream( "/demo/001.jpg " ));
watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);
SubstanceSkin skin = new OfficeBlue2007Skin().withWatermark(watermark); //初始化有水印的皮肤
UIManager.setLookAndFeel( new SubstanceOfficeBlue2007LookAndFeel());
SubstanceLookAndFeel.setSkin(skin); //设置皮肤
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(LoginFrame. class .getName()).log(Level.SEVERE, null , ex);
}
上面的代码中有一句代码的位置是不能变的,那就是 SubstanceLookAndFeel.setSkin(skin); 。
它必须要在 UIManager.setLookAndFeel( new SubstanceOfficeBlue2007LookAndFeel()); 这句的下面。
否则你看不到水印的效果。下图是有水印和没水印的对比图(左边的是有水印的,右边的是没水印的):
- Swing 皮肤包
- Java Swing皮肤包的使用方法
- Swing皮肤
- swing换皮肤
- 使用Swing皮肤机制
- swing--更改皮肤
- java swing 换皮肤
- java-swing-皮肤
- Java Swing程序设置皮肤
- Swing 皮肤(LookAndFeel)演示 demo
- swing皮肤substance的应用
- swing中通过.class文件(把.java都删除)打包成jar文件,使用皮肤包遇到的问题。
- Swing使用系统自代的皮肤
- 让swing使用苹果风格的皮肤
- java swing皮肤使用(substance)
- java swing皮肤使用(substance)
- Java swing皮肤(look and feel)
- eclipse皮肤包下载链接
- 解析不了域名
- C#面向对象经典资料
- 移动WLAN测试
- How do I set a preference value?
- 友元函数用法
- Swing 皮肤包
- Codeforces Round #136 (Div. 2)
- String转Color
- NSMutableString和NSString区别,及相互转换方法
- java环境变量配置
- UML类图几种关系的总结
- Fedora 17 安装小记
- Asp.net中的MVC设计模式的工作流程
- template