不管你的项目是否用到了Swing技术我都要说Swing是一个设计优秀的Java包它充满了大师的智慧如果你学了Java却连一个Button还不会写就象你学习Visual Basic却不会用Button那可绝对是不能被原谅的Swing技术的应用已经在国外大行其道由于java的免费易学以及大家对于java技术的充分信赖好多公司早早的就把应用程序的一切从后台服务到前台人机交互界面统统移到了java开发上Swing出现了快年了凭借其先进的设计思想一直未曾落后于哪种语言的界面开发技术使用和理解Swing的设计思想对软件开发者大有裨益
Swing的设计是MVC的典范虽然MVC的概念有点泛滥可是真正能够理解并熟练掌握在设计和开发里面自然流露的并不多见记得用VC++开发程序时候MFC向导也是生成Document和View两个类当时一直奇怪为什么这么绕圈子再看Swing的设计则到处充满了MVC的痕迹仔细研究Swing中事件监听ModelView分离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技术已经成为首选的解决方案随着JGoodiesJIDETWaver等优秀Swing产品的不断涌现Swing会以更快速度在桌面应用中普及