java lookandfeel下载_java LookAndFeel 美化 Substance使用

改变外观,似乎是一个很麻烦的事情,幸运的是在swing里,我们只需要简单的一行代码就可以改变

UIManager.setLookAndFeel(new LookAndFeel());

比如:

UIManager.setLookAndFeel(new QuaquaLookAndFeel());

我们还可以通过

UIManager.setLookAndFeel(String s);

来改变外观,其中,s是表示该外观的路径,比如

UIManager.setLookAndFeel(

"org.fife.plaf.OfficeXP.OfficeXPLookAndFeel");

另外,如果该Look And Feel类对窗口的边框还有修饰的话,还可以通过

JFrame.setDefaultLookAndFeelDecorated(true);

JDialog.setDefaultLookAndFeelDecorated(true);

这样一来,窗口就会采用该外观特制的边框.

最出名的当属Substance。官网:http://insubstantial.github.io/insubstantial/substance/

使用,将Substance.jar引入到lib中,然后在main中:

try{

UIManager.setLookAndFeel(newSubstanceLookAndFeel());

JFrame.setDefaultLookAndFeelDecorated(true);

JDialog.setDefaultLookAndFeelDecorated(true);

SubstanceLookAndFeel.setCurrentTheme(newSubstanceTerracottaTheme());//SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());//SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());//SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBubblesWatermark());//SubstanceLookAndFeel.setCurrentBorderPainter(new StandardBorderPainter());//SubstanceLookAndFeel.setCurrentGradientPainter(new StandardGradientPainter());//SubstanceLookAndFeel.setCurrentTitlePainter(new FlatTitePainter());

} catch(Exception e) {

System.err.println("Something went wrong!");

}

public static voidmain(String[] args)

{//装载可选择的主题

try{//设置外观

UIManager.setLookAndFeel(newSubstanceBusinessBlackSteelLookAndFeel());

JFrame.setDefaultLookAndFeelDecorated(true);//设置主题

SubstanceLookAndFeel.setCurrentTheme(newSubstanceEbonyTheme());//设置按钮外观

SubstanceLookAndFeel.setCurrentButtonShaper(newClassicButtonShaper());//设置水印

SubstanceLookAndFeel.setCurrentWatermark(newSubstanceBinaryWatermark());//设置边框

SubstanceLookAndFeel.setCurrentBorderPainter(newStandardBorderPainter());//设置渐变渲染

SubstanceLookAndFeel.setCurrentGradientPainter(newStandardGradientPainter());//设置标题

SubstanceLookAndFeel.setCurrentTitlePainter(newFlatTitlePainter());

}catch(Exception e) {

System.out.println(e.getMessage());

}

}

这个地方主要介绍一下关于使用substance.jar包装程序时对界面效果的几个方面的设置,主要让

主题,皮肤,按钮类型,水印,边框渲染,渐变渲染与标题栏渲染.

他们都可以通过 SubstanceLookAndFeel类的静态方法 setCurrentXXX(XXX)来完成设置,其中对皮肤的设置稍有不同,使用静态方法setSkin(),没有Current这个单词,这主要是由于一个皮肤对象中已经包含了所有其他的如主题,水印,按钮类型的设置.另外注意,所以这些类型并没有作为一个类的字段来出现,而且他们各处单独是一个类,所以都需要通过new来创建他们的实例.其中除了皮肤,按钮,标题栏,其他的对象都是以Substance+名称+类型 来命名的.(主题是皮肤的一部分)

共有22种皮肤,69种主题。

1. 下载下来substance.jar包后,解压JAR文件,可以看到在“org/jvnet/substance/skin”下有下面这些皮肤(以LookAndFeel.class结尾的文件)。

SubstanceAutumnLookAndFeel.class

SubstanceBusinessBlackSteelLookAndFeel.class

SubstanceBusinessBlueSteelLookAndFeel.class

SubstanceBusinessLookAndFeel.class

要使用上述皮肤很简单,只要在main函数中调用下面代码即可:

//主要设置皮肤、主题还有按钮、水印、选项卡、滑动条以及水印等

//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceBusinessLookAndFeel");

//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceOfficeSilver2007LookAndFeel");

//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceSaharaLookAndFeel");

//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel");

UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceBusinessBlackSteelLookAndFeel");

2. org/jvnet/substance/theme 下有可用主题:

SubstanceAquaTheme.class

SubstanceBarbyPinkTheme.class

SubstanceBlendBiTheme.class

............

疑问:

UIManager.setLookAndFeel(newSubstanceLookAndFeel());

这里的SubstanceLookAndFeel不是一个skin类,我在skin下找不到这个类。

参考:http://hi.baidu.com/jxqlovejava/item/fe3116cd169593d0ee183b37

http://hitzsf.blog.163.com/blog/static/34668206201172110510740/

http://blog.csdn.net/zhenshiyiqie/article/details/8425923

http://www.iteye.com/topic/394314

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值