dyerac |
|
|||
dyerac In Java |
公告
日歷
統(tǒng)計(jì)
導(dǎo)航常用鏈接留言簿(5)隨筆分類(49)
隨筆檔案(36)
文章分類(11)文章檔案(10)相冊(cè)dyerac搜索積分與排名
最新隨筆
最新評(píng)論
閱讀排行榜評(píng)論排行榜 |
用Look And Feel打造絢麗的界面外觀!
用各種look and feel打造swing界面 雖然我們知道,一個(gè)桌面應(yīng)用程序的好壞,和它的性能,功能有著很大關(guān)系, 然而,對(duì)于大多數(shù)坐在電腦前的用戶而言,他們的標(biāo)準(zhǔn)往往是: 絢麗的外觀 MVC設(shè)計(jì)下的的SWING自然沒有忽視這一點(diǎn),通過對(duì)UIManager的設(shè)置,我們可以很容易的改變應(yīng)用程序的外觀,也就是 LOOK AND FEEL 一.如何設(shè)置look and feel: 改變外觀,似乎是一個(gè)很麻煩的事情,幸運(yùn)的是在swing里,我們只需要簡單的一行代碼就可以改變 UIManager.setLookAndFeel(new LookAndFeel()); 比如: UIManager.setLookAndFeel(new QuaquaLookAndFeel()); 我們還可以通過 UIManager.setLookAndFeel(String s); 來改變外觀,其中,s是表示該外觀的路徑,比如 UIManager.setLookAndFeel(\"org.fife.plaf.OfficeXP.OfficeXPLookAndFeel\"); 另外,如果該Look And Feel類對(duì)窗口的邊框還有修飾的話,還可以通過 JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); 這樣一來,窗口就會(huì)采用該外觀特制的邊框 二.一些比較帥氣的look and feel swing自帶提供了幾種look and feel類,不過,這顯然是不夠的,下面,就讓我們看看第三方都提供了些什么酷酷的外觀咯: 1.Substance ? ? 這個(gè)項(xiàng)目的目的是提供一個(gè)流行的外觀(look & feel)。這個(gè)外觀(look & feel)聯(lián)合了Windows XP和MacOS 10.4最好的特性并且需要JDK 5.0以上。 ? ? ![]() ??? 將窗口的邊框替換成Substance特定邊框后,我們還可以通過點(diǎn)擊其左上角的小方塊來手工配制其外觀,可以配制的有 主題,水印,按鈕形狀,漸變情況,看,這個(gè)蝴蝶形狀的button多酷! ![]() 2.Smooth ? ? 提供了改進(jìn)型的windows和metal風(fēng)格的外觀風(fēng)格 ![]() ???提供了仿照Xp,Office2003和VS的外觀風(fēng)格 ![]() 4.其他 ? ?在網(wǎng)站上羅列如今較為流行的外觀類,大家有興趣可以去研究一下咯^_^ ? ? http://www.open-open.com/61.htm 三.使用方法 將下列jar文件拷貝到你的程序的classpath中,然后將下列代碼段加入到你main函數(shù)中 http://210.42.106.102/bbs/viewth ... &extra=page%3D1 (注,其實(shí)我在別的文章中給出了一個(gè)例子,參見用java打造任意形狀窗口一文中的的代碼) 1.substance look and feel: ? ?try { ? ?? ?? ?? ?? ?? ?? ?? ?UIManager.setLookAndFeel(new SubstanceLookAndFeel()); ? ?? ?? ?? ?? ?? ?? ?? ?UIManager.put("swing.boldMetal", false); ? ?? ?? ?? ?? ?? ?? ?? ?if (System.getProperty("substancelaf.useDecorations") == null) { ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???JFrame.setDefaultLookAndFeelDecorated(true); ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???JDialog.setDefaultLookAndFeelDecorated(true); ? ?? ?? ?? ?? ?? ?? ?? ?} ? ?? ?? ?? ?? ?? ?? ?? ?System.setProperty("sun.awt.noerasebackground", "true"); ? ?? ?? ?? ?? ?? ?? ?? ?SubstanceLookAndFeel.setCurrentTheme(new SubstanceLightAquaTheme());//設(shè)置當(dāng)前的主題風(fēng)格,同樣我 們還可以設(shè)置當(dāng)前的按鈕形狀,水印風(fēng)格等等 ? ?? ?? ?? ?? ? } catch (Exception e) { ? ?? ?? ?? ?? ?? ?? ?? ?System.err.println("Oops!??Something went wrong!"); ? ?? ?? ?? ?? ? } ? ? 2.smooth look and feel ? ?? ?? ?? ? try { ? ?? ?? ?? ?? ?? ?? ?? ?UIManager.setLookAndFeel(new SmoothLookAndFeel()); ? ?? ?? ?? ?? ?? ?? ?? ?UIManager.put("swing.boldMetal", false); ? ?? ?? ?? ?? ? } catch (Exception e) { ? ?? ?? ?? ?? ?? ?? ?? ?System.err.println("Oops!??Something went wrong!"); ? ?? ?? ?? ?? ? } 3.? ?office/winxp/VisualStudio 2005 look and feel ? ?? ?try { ? ?? ?? ?? ?? ?? ???UIManager.setLookAndFeel("org.fife.plaf.Office2003.Office2003LookAndFeel"); ? ?? ?? ?? ?? ?? ???//UIManager.setLookAndFeel("org.fife.plaf.OfficeXP.OfficeXPLookAndFeel"); ? ?? ?? ?? ?? ?? ???//UIManager.setLookAndFeel("org.fife.plaf.VisualStudio2005.VisualStudio2005LookAndFeel"); ? ?? ?? ?? ?? ?? ???UIManager.put("swing.boldMetal", false); ? ?? ?? ?? ?? ? } catch (Exception e) { ? ?? ?? ?? ?? ?? ?? ?? ?System.err.println("Oops!??Something went wrong!"); ? ?? ?? ?? ?? ? }
評(píng)論:
|
![]() |
|
Copyright © dyerac in java... | Powered by: 博客園 模板提供:滬江博客 |