不管你的項目是否用到了swing技術,我都要說,swing是一個設計優秀的java包,它充滿了大師的智慧。如果你學了java卻連一個button還不會寫,就象你學習visual basic卻不會用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吸引了不少人,使得java gui技術面臨分裂的危險。
不過隨著java的不斷升級和優化,swing的速度一直在提高,美觀性也在改善,基于swing的成功應用也越來越多了。關于swing是否消亡或被swt代替或是否能作桌面應用的爭論逐漸少了。不過喜歡并精通swing技術的開發者,尤其在國內,依舊非常少。
好在情況在轉好。sun正意識到eclipse和swt所帶來的威脅,下了大力氣發展netbeans,其最新版本對swing gui可視化設計的支持已經超過了所有對手,其rich client框架也走向成熟,這對swing的發展和應用是一個很大的推動。隨著web熱潮的減退,人們又更多的開始理性的思考b/s和c/s架構的選擇,某些領域swing技術已經成為首選的解決方案。隨著jgoodies、jide、twaver等優秀swing產品的不斷涌現,swing會以更快速度在桌面應用中普及。
菜鳥學堂:新聞熱點
疑難解答