命令行輸入改變Swing程序外觀
命令行輸入改變Swing程序外觀
有些時(shí)候,Swing程序并沒(méi)有提供在運(yùn)行期改變外觀的方法.當(dāng)我們使用的就是一個(gè)這樣的Swing程序時(shí),我們可以通過(guò)命令行輸入借助Swing default 屬性來(lái)覆蓋默認(rèn)的外觀配置.
- java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
myapp.MainClass
你可以用這個(gè)技巧為程序提供一個(gè)全新的外觀,而這個(gè)外觀可能連最初的程序員都從未想過(guò)的.
獲取金屬質(zhì)感的外觀
有很多非正式的屬性控制著金屬質(zhì)感的外觀以及Swing 的跨平臺(tái)的外觀.JTree 的節(jié)點(diǎn)設(shè)計(jì)時(shí)可以把子節(jié)點(diǎn)通過(guò)連接線連接父節(jié)點(diǎn),不過(guò),通過(guò)你的配置,可以顯示也可以隱藏這個(gè)連接線.通過(guò)設(shè)置JTree.lineStyle這個(gè)屬性來(lái)配置這些連接線.在創(chuàng)建JTree 之后,添加以下的代碼
- // show the lines in a JTree tree.putClientProperty("JTree.lineStyle", "Angled");
- // hide the lines in a jtree tree.putClientProperty("JTree.lineStyle", "None");
對(duì)于金屬質(zhì)感的外觀***的一個(gè)抱怨就是菜單和標(biāo)簽使用的是粗體.通過(guò)另外一個(gè)簡(jiǎn)潔的非正式系統(tǒng)特性,你可以關(guān)閉這些.
- java -Dswing.boldMetal=false myapp.MainClass
你可以通過(guò)使用一個(gè)秘密的特性打開(kāi)JToolBar按鍵的翻動(dòng).這個(gè)翻動(dòng)很有用,因?yàn)橛脩艨梢酝ㄟ^(guò)這個(gè)直觀的翻動(dòng)清楚的知道當(dāng)前鼠標(biāo)的指針停留的位置.提供工具欄常規(guī)按鍵的尺寸大小,反饋回來(lái)的就是實(shí)質(zhì)內(nèi)容
- toolbar.putClientProperty("JToolBar.isRollover",Boolean.TRUE);
在Wiki頁(yè)面有一份比較長(zhǎng)的(雖然談不上全面) 屬性清單.特別是Swing和金屬質(zhì)感有很多的非正式系統(tǒng)的屬性.當(dāng)你有什么新的發(fā)現(xiàn)時(shí),不妨將你的評(píng)論添加到剛剛提到的那個(gè)頁(yè)面.同時(shí)要特別清楚之所以為非正式往往是出于某種原因的,這些東西可能很容易的就被改變,在將來(lái)甚至可能被去舍棄.所以還是把這個(gè)險(xiǎn)留給自己去冒好了.
【編輯推薦】