以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Java/Eclipse 』 (http://bbs.xml.org.cn/list.asp?boardid=41) ---- 质问各大Java GUI IDE/Plugin&& Swing VS SWT[转帖] (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=53452) |
-- 作者:DMman -- 发布时间:10/7/2007 9:41:00 AM -- 质问各大Java GUI IDE/Plugin&& Swing VS SWT[转帖] 1. Visual Editor (VE) for Eclipse 开源,免费 不知道设计人员长不长脑的,打开一个VE编辑器就要开一个javaw进程,每个进程至少20多M,试问一般人能有多少内存? 这个还不算,编辑的反应速度可以和蜗牛比美,功能简单,块头不小,更新缓慢,1年时间(06-07)还没什么变化。 2. WindowBuilder for Eclipse 试用期版,收费版,无免费版本 貌似和VE使用了差不多的技术,起码是都是使用了GEF框架。 和VE有一样的大毛病,反应速度特别慢,每动一下都要等它重新解释完,气人的是,不能暂停解析,写一句代码都要折磨死人。 到Designer 6.2.0有个很严重的BUG,不知道后面的修改了没--保存时默认是重新解析的,只见控件层次树不断的刷新,CPU占用100%,一般要等上10秒才能完成,期间整个Eclipse死掉! 优点是功能强大,也很全面,但就是解析慢的缺点足以让人无法忍受! 有时出错后就看不到整个GUI,非常恼火。 它非不是完全解析代码的,只解析部分代码,一部分是不解析的,如各种model,所以设计时和运行时有较大的差异。 对GroupLayout支持不错,可以很方便的设置(解析耗时不计算的话) 对无布局(null)支持也很好,可以看到很多定位线! 512MB内存经常死掉,然后报溢出?!! 3. Jigloo for Eclipse 个人版本免费,商业版收费 它与WindowBuilder各有千秋,功能也相当,丰富性上比WindowBuilder差些,更新也慢些,可能是免费的原因吧。 特出优点: 1).完全解析代码,在编辑时基本可以看到运行时的界面,可以正确解析很多自定义的类,模型,如各种renderer.. 2).可以暂停、重新解析,从编辑加载。这个在实际使用时非常好用!因为一般不可能完全拖放好界面后就不动的,经常要反复修改,编辑器的能力毕竟有限,很多问题非手工不能解决。 这两个特点都是这4个插件中Jigloo唯一有的。 另外,它的解析能力非常强大,VE,WindowBuilder,NetBeans拿过来的类一般可以编辑。 体积小巧,总大小不超过3M,却有如此的效果,实在是强悍(VE 不带GEF和EML都有17M,WindowBuilder 26M) 缺点: 编辑界面比较难看,左边对齐图标又小又看不清 选择了一个控件后,不要,按ESC取消时,经常无效,一个很不爽的BUG 3.9.5版本在拖动改变控件大小时经常会出错,宽度设置成65536(Max Short?) 不支持JDK1.6的GroupLayout,而是javadesktop的GroupLayout,多少有些不方便,不爽 有时会出现重复声明变量,一般是layout... 令人讨厌的GUI Builder属性窗口老关不掉,一定要出现在view里面。这个属性编辑非常不方便,选择不方便。。还有时编辑后不修改代码,非得手工去修改,还好这个比较方便修改。 GUI编辑区域的背景网络线怎么设置都会出现,密密的看得眼花,真想不明白,在背景(窗体外部的)网络要来有什么用,又不能定位!!?? 4. NetBeans 免费 强制保存GUI生成代码,无法手动编辑(只能用外部工具打开源文件修改),非常不爽,因为一点点代码修改都要通过各种向导…… 界面编辑反应非常快,基本不用停顿!! 对GroupLayout的支持也很好,关键是反应快,可以令工作进行得非常愉快。 缺点: 不能直接解析java源文件,不能解析其它工具创建的代码 界面不能设置风格,编辑(系统风格)与运行(Java风格)天地之别 属性编辑器非常不友善,找头天还找不到 控件图标不容易辨认,看起来差不多都一样(狂汗!!) 补充一句,NetBeans的界面真让人恶心,真不知道是怎么设计的,就算是全部手工写出来的也不能原谅! 如:窗口通常不留空白,再省也不难省这点吧!?? |
-- 作者:DMman -- 发布时间:10/7/2007 9:45:00 AM -- java桌面设计还是软肋,觉得原作者分析的很好。我现在使用楼主所说的第二个工具WindowBuilder for Eclipse 即 SWT/Swing Designer。感觉主要是解析速度慢:“每动一下都要等它重新解释完,写一句代码都要折磨死人。” 另外,现在使用JTable,数据量超过100条的时候,查询出来再绘制成JTable中,需要的时间很长!是不是代码哪里有问题?不知有没有人曾经遇到过? |
-- 作者:DMman -- 发布时间:10/7/2007 9:53:00 AM -- 以上为网友关于Swing的一点讨论 觉得不错: swing的目标就是建立一个独立的GUI系统(独立于OS),所以GUI的绘制都是自己实现(建立在java 2D上)。这样带来的好处就是可以抛开历史包袱,从头开始实现一个灵活,现代,面向对象,真正跨平台的 GUI框架。 当初swing设计思想是卓越的,Swing有着无与伦比的扩展性和灵活性,它采用了很多现代的UI理论,如renderer/editor等。只是碍于实现性能。 但随着swing实现的性能越来越高,硬件环境越来越好。swing的发展一定更好! 要说sun对于swing的失败,不是swing设计思想和架构有问题。而是他们为swing实现的默认look & feel是糟糕的! |
-- 作者:DMman -- 发布时间:10/7/2007 9:54:00 AM -- 转: 不管你的项目是否用到了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会以更快速度在桌面应用中普及。 |
-- 作者:DMman -- 发布时间:10/7/2007 9:54:00 AM -- 转: 我不认同swt的设计架构!在灵活性上远不如swing! http://blog.sina.com.cn/u/4b6047bc010006r1 SWT从实质上说是头疼医头,脚疼医脚,这种本质决定的它的架构不好,当需求增加时,当面临现实的Customization时,当面临各种不同操作系统时,它的缺点就暴露出来了,简单的说: |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
56.641ms |