java synth

就在 Sun 一如既往地試圖“再次引入 Java Desktop”之際,Java UI 開發人員的抱怨之詞亦已表面化:要創建完全定製的外觀實在太難。這樣做不僅要花費太多的時間,並且 Swing UI 代碼的編寫和文檔的編制也極爲不堪,常常是亂雜一氣,缺乏規劃。爲了創建完整的外觀,開發人員需要繼承 Metal 外觀的 39 個類,或者繼承 Basic 外觀的 60 個類。誰想通過重寫整個包來改變應用程序呈現外觀的方式呢?用 Swing 創建定製外觀有多難,通過下面的事實同樣可窺見一斑:在很多開發人員爲開源項目添磚加瓦的時代,Internet 上可用的自定義 Swing 外觀幾乎是鳳毛麟角 —— 總共大約是 20 個,其中少數在 SourceForge.net 上(請參閱 參考資料)。

美麗只是膚淺的東西

進入 Synth,Sun 希望它能使應用程序外觀的個性化過程變得容易。Synth 的目標很簡單 —— 讓開發人員不必編寫任何代碼就可以創建新的外觀。這似乎是個不錯的解決方案。程序員一般沒有突出的藝術才華,而圖形設計人員通常也不是 Java 編程專家。Synth 把對外觀的所有描述從代碼中分離出來,而將其放入外部的 XML 文件和圖像文件中,爲上述問題提供了大快人心的解決之道。這種完全在外部文件中描述的外觀被稱作 皮膚(skin)

Sun 的皮膚概念並不是什麼創新。例如,Winamp 有數百種皮膚,Firefox 也有幾十種皮膚,這些皮膚很容易創建,只需更改一個 XML 文件即可。想像一下,僅僅修改一個 XML 文件,就能快速、容易地爲 Java 應用程序創建一個外觀。再想想這樣一來的結果 —— 幾百個互不相同的 Swing 外觀。Java UI 開發人員當然有理由歡呼了。

本文將深入分析 Synth 外觀,向您展示創建一個完整的外觀或皮膚所需知道的一切。您會看到一個帶有示例皮膚的應用程序,這個應用程序使用了 Synth 所有重要的概念。然後,我會逐步剖析這個皮膚,在構建 XML 文件的過程中,一一教會您 Synth 的各個概念。

本文最後一節將盡力回答開發人員關於 Synth 性能、bug 和缺陷以及 Synth 在省時方面的表現等種種問題。閱讀本文之後,您應該會願意擁護 Synth 作爲外觀解決方案,並準備馬上使用它來創建自己的 Swing 外觀。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章