Swing中Look&Feel怎么用

发布时间:2021-12-27 15:19:29 作者:小新
来源:亿速云 阅读:138

小编给大家分享一下Swing中Look&Feel怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

今天用Swing 做了一个模仿QQ2009的登录界面,用到了开源的Look&Feel (Substance),在使用的过程中遇到了一些问题,也学到了一些技巧。Substance (https://substance.dev.java.net)有很多的外观可以选择,而且都很漂亮,还提供了强大的API供开发者使用。Substance 现在已经发展到5.2RC 版了,一开始我使用的是5.1版,但是在使用的过程中发现了一些bug,当我使用Substance中提供的水印功能时,出现了许多的异常,这个bug在 5.0的时候是没有的,后来我又下载了***的5.2RC版,这个问题在5.2版中已经解决了。

***个问题:如何完整的使用Look&Feel?

对于Swing 的老手来说,这个是小菜一碟,但是对于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 " );  }

或者说是我自己太菜了吧。总之我在认真学习Swing的外观使用之前我是不知道该如何使标题栏也改变的。
要改变标题栏其实只要一句话就够了,就是在main方法中添加这么一句:

JFrame.setDefaultLookAndFeelDecorated( true );

第二个问题,如何给应用程序添加水印或者说是背景?

官方的文档说的很少,也没有具体的使用例子说明,后来下载了Substance的源码来看才发现该如何使用。

以下就是我参考官方源码写的在main方法中的一段核心代码

  1. JFrame.setDefaultLookAndFeelDecorated(true);  

  2. JDialog.setDefaultLookAndFeelDecorated(true);  

  3. try  {  

  4. SubstanceImageWatermark watermark  =   new  SubstanceImageWatermark
    (LoginFrame. class .getResourceAsStream( " /demo/001.jpg " ));  

  5. watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);  

  6. SubstanceSkin skin  =   new  OfficeBlue2007Skin().withWatermark(watermark);

  7. //初始化有水印的皮肤  

  8. UIManager.setLookAndFeel( new  SubstanceOfficeBlue2007LookAndFeel());  

  9. SubstanceLookAndFeel.setSkin(skin);  //设置皮肤  

  10. }

  11. catch  (UnsupportedLookAndFeelException ex) {  

  12. Logger.getLogger(LoginFrame. class .getName()).log(Level.SEVERE,  null , ex);  

以上是“Swing中Look&Feel怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. java中的swing有什么用
  2. Swing有什么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

swing

上一篇:Embedding7如何通过通用文本进行表达

下一篇:Swing中JOptionPane有什么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》