您好,登錄后才能下訂單哦!
小編給大家分享一下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方法中的一段核心代碼
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);
}
以上是“Swing中Look&Feel怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。