不管你的項目是否用到了Swing技術,我都要說,Swing是一個設計優秀的java包,它布滿了大師的聰明。假如你學了Java卻連一個Button還不會寫,就象你學習VisualBasic卻不會用Button,那可絕對是不能被原諒的。Swing技術的應用已經在國外大行其道,由于java的免費、易學以及大家對于java技術的充分信賴,好多公司早早的就把應用程序的一切,從后臺服務到前臺人機交互界面,統統移到了java開發上。Swing出現了快10年了,憑借其先進的設計思想,一直未曾落后于哪種語言的界面開發技術,使用和理解Swing的設計思想,對軟件開發者大有裨益。
Swing的設計是MVC的典范。雖然MVC的概念有點泛濫,可是真正能夠理解并熟練把握、在設計和開發里面自然流露的并不多見。記得用VC++開發程序時候,MFC向導也是生成Document和View兩個類,當時一直希奇為什么這么繞圈子。再看Swing的設計,則到處布滿了MVC的痕跡。仔細研究Swing中事件監聽、Model-View分離、Renderer/Editor機制、可插拔的LookAndFeel等機制,簡直就是一門藝術,布滿了美感。而假如你非常痛恨這些設計并覺得他們怪異,很可能你是剛從VB或者Delphi轉過來,這些快速開發工具幫助了你也“害”了你。
Swing設計的不錯,不過可能過度學術化的設計也使得Swing跑起來并不靈巧,學習難度也大。這客觀上確實使得Swing一直沒有被廣泛使用,而且廣受詬病。記得以前“Swing有什么成功的應用嗎?”之類的帖子一直是熱門話題。IBM等則趁機抓住小辮子弄了SWT吸引了不少人,使得JavaGUI技術面臨分裂的危險。
不過隨著JAVA的不斷升級和優化,Swing的速度一直在提高,美觀性也在改善,基于Swing的成功應用也越來越多了。關于Swing是否消亡或被SWT代替或是否能作桌面應用的爭論逐漸少了。不過喜歡并精通Swing技術的開發者,尤其在國內,依舊非常少。
好在情況在轉好。Sun正意識到Eclipse和SWT所帶來的威脅,下了大力氣發展NetBeans,其最新版本對SwingGUI可視化設計的支持已經超過了所有對手,其RichClient框架也走向成熟,這對Swing的發展和應用是一個很大的推動。隨著WEB熱潮的減退,人們又更多的開始理性的思考B/S和C/S架構的選擇,某些領域Swing技術已經成為首選的解決方案。隨著JGoodies、JIDE、TWaver等優秀Swing產品的不斷涌現,Swing會以更快速度在桌面應用中普及。
原文地址:http://tb.blog.csdn.net/TrackBack.aspx?PostId=725635
新聞熱點
疑難解答