介紹Swing技術(shù)的應(yīng)用
如果你學(xué)了Java卻連一個(gè)Button還不會(huì)寫,就象你學(xué)習(xí)Visual Basic卻不會(huì)用Button,那可絕對(duì)是不能被原諒的。Swing技術(shù)的應(yīng)用已經(jīng)在國(guó)外大行其道,由于java的免費(fèi)、易學(xué)以及大家對(duì)于java技術(shù)的充分信賴,好多公司早早的就把應(yīng)用程序的一切,從后臺(tái)服務(wù)到前臺(tái)人機(jī)交互界面,統(tǒng)統(tǒng)移到了java開發(fā)上。Swing出現(xiàn)了快10年了,憑借其先進(jìn)的設(shè)計(jì)思想,一直未曾落后于哪種語(yǔ)言的界面開發(fā)技術(shù),使用和理解Swing的設(shè)計(jì)思想,對(duì)軟件開發(fā)者大有裨益。
Swing設(shè)計(jì)是MVC的典范。雖然MVC的概念有點(diǎn)泛濫,可是真正能夠理解并熟練掌握、在設(shè)計(jì)和開發(fā)里面自然流露的并不多見。記得用VC++開發(fā)程序時(shí)候,MFC向?qū)б彩巧蒁ocument和View兩個(gè)類,當(dāng)時(shí)一直奇怪為什么這么繞圈子。再看Swing的設(shè)計(jì),則到處充滿了MVC的痕跡。仔細(xì)研究Swing中事件監(jiān)聽、Model-View分離、Renderer/Editor機(jī)制、可插拔的LookAndFeel等機(jī)制,簡(jiǎn)直就是一門藝術(shù),充滿了美感。而如果你非常痛恨這些設(shè)計(jì)并覺得他們怪異,很可能你是剛從VB或者Delphi轉(zhuǎn)過來,這些快速開發(fā)工具幫助了你也“害”了你。
Swing設(shè)計(jì)的不錯(cuò),不過可能過度學(xué)術(shù)化的設(shè)計(jì)也使得Swing跑起來并不靈巧,學(xué)習(xí)難度也大。這客觀上確實(shí)使得Swing一直沒有被廣泛使用,而且廣受詬病。記得以前“Swing有什么成功的應(yīng)用嗎?”之類的帖子一直是熱門話題。IBM等則趁機(jī)抓住小辮子弄了SWT吸引了不少人,使得Java GUI技術(shù)面臨分裂的危險(xiǎn)。
不過隨著JAVA的不斷升級(jí)和優(yōu)化,Swing的速度一直在提高,美觀性也在改善,基于Swing的成功應(yīng)用也越來越多了。關(guān)于Swing是否消亡或被SWT代替或是否能作桌面應(yīng)用的爭(zhēng)論逐漸少了。不過喜歡并精通Swing技術(shù)的開發(fā)者,尤其在國(guó)內(nèi),依舊非常少。
好在情況在轉(zhuǎn)好。Sun正意識(shí)到Eclipse和SWT所帶來的威脅,下了大力氣發(fā)展NetBeans,其最新版本對(duì)Swing GUI可視化設(shè)計(jì)的支持已經(jīng)超過了所有對(duì)手,其Rich Client框架也走向成熟,這對(duì)Swing的發(fā)展和應(yīng)用是一個(gè)很大的推動(dòng)。隨著WEB熱潮的減退,人們又更多的開始理性的思考B/S和C/S架構(gòu)的選擇,某些領(lǐng)域Swing技術(shù)已經(jīng)成為首選的解決方案。隨著JGoodies、JIDE、TWaver等優(yōu)秀Swing產(chǎn)品的不斷涌現(xiàn),Swing會(huì)以更快速度在桌面應(yīng)用中普及。
【編輯推薦】