substance

来源:互联网 发布:数据交换平台etl 编辑:程序博客网 时间:2024/05/29 14:24
一直以来都认为用Swing做出来的程序太难看了,但是又无可奈何,但现在好了,有了substance.jar,只需要在你的程序中添加几行简单的代码,就可以做出非常漂亮的界面来,如果不是亲眼看到,你也许不敢相信这是真的.
  下面我就来介绍一下substance.jar的使用.

1.下载substance.jar

    新浪(不知道版本是不是最新的):http://ishare.iask.sina.com.cn/f/22535775.html

    51CTO:   http://down.51cto.com/tag-substance.jar.html

2.将substance.jar添加到类路径中


3.将下列代码添加到你的程序的主执行类的main()方法中:
  
[java] view plain copy print?
  1.  try {  
  2.             UIManager.setLookAndFeel(new SubstanceLookAndFeel());  
  3.             JFrame.setDefaultLookAndFeelDecorated(true);  
  4.             JDialog.setDefaultLookAndFeelDecorated(true);  
  5.             SubstanceLookAndFeel.setCurrentTheme(new SubstanceTerracottaTheme());  
  6. //          SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());  
  7. //          SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());  
  8. //          SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBubblesWatermark());  
  9. //          SubstanceLookAndFeel.setCurrentBorderPainter(new StandardBorderPainter());  
  10. //            SubstanceLookAndFeel.setCurrentGradientPainter(new StandardGradientPainter());  
  11. //            SubstanceLookAndFeel.setCurrentTitlePainter(new FlatTitePainter());  
  12.         } catch (Exception e) {  
  13.             System.err.println("Something went wrong!");  
  14.         }  



这个地方主要介绍一下关于使用substance.jar包装程序时对界面效果的几个方面的设置,主要让
主题,皮肤,按钮类型,水印,边框渲染,渐变渲染与标题栏渲染.

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

Substance总共定义了27种皮肤,分别是:


[java] view plain copy print?
  1. org.pushingpixels.substance.api.skin.AutumnSkin,    
  2. org.pushingpixels.substance.api.skin.BusinessSkin,    
  3. org.pushingpixels.substance.api.skin.BusinessBlackSteelSkin,    
  4. org.pushingpixels.substance.api.skin.BusinessBlueSteelSkin,    
  5. org.pushingpixels.substance.api.skin.ChallengerDeepSkin,    
  6. org.pushingpixels.substance.api.skin.CremeSkin,    
  7. org.pushingpixels.substance.api.skin.CremeCoffeeSkin,    
  8. org.pushingpixels.substance.api.skin.DustSkin,    
  9. org.pushingpixels.substance.api.skin.DustCoffeeSkin,    
  10. org.pushingpixels.substance.api.skin.EmeraldDuskSkin,    
  11. org.pushingpixels.substance.api.skin.GeminiSkin,    
  12. org.pushingpixels.substance.api.skin.GraphiteSkin,    
  13. org.pushingpixels.substance.api.skin.GraphiteAquaSkin,    
  14. org.pushingpixels.substance.api.skin.GraphiteGlassSkin,    
  15. org.pushingpixels.substance.api.skin.MagellanSkin,    
  16. org.pushingpixels.substance.api.skin.MarinerSkin,    
  17. org.pushingpixels.substance.api.skin.MistAquaSkin,    
  18. org.pushingpixels.substance.api.skin.MistSilverSkin,    
  19. org.pushingpixels.substance.api.skin.ModerateSkin,    
  20. org.pushingpixels.substance.api.skin.NebulaSkin,    
  21. org.pushingpixels.substance.api.skin.NebulaBrickWallSkin,    
  22. org.pushingpixels.substance.api.skin.OfficeBlack2007Skin,    
  23. org.pushingpixels.substance.api.skin.OfficeBlue2007Skin,    
  24. org.pushingpixels.substance.api.skin.OfficeSilver2007Skin,    
  25. org.pushingpixels.substance.api.skin.RavenSkin,    
  26. org.pushingpixels.substance.api.skin.SaharaSkin    


大家可以根据自己需要选择不同的皮肤。

经过本人亲测,的确GUI风格变化很大,变得很友好!!

这是使用substance前的界面


使用之后的界面

若把上面main()方法中的注释去掉,界面就会变成这样:


本文章转自    http://blog.163.com/jay_man@126/blog/static/55510354200822295530393/     。
0 0
原创粉丝点击