swt,尤其draw2d类库设计的太差了,不是一般的差

时间:2022-08-08 22:21:25
本来是用swing开发界面的,但受不了swt本地界面的影响,还是转过来了。
但在使用过程中发现swt的类库设计太差了,非常不人性,很多本来可以封装的更好的类,却非要暴露很多对编程很棘手的问题。SWT的对所有Style的引用问题,还有如Image,Color,这些本来都可以类似swing,做一个通用类,不要和平台结合,在具体画图或者在内部和平台关联。还有就是不知道ImageData有什么意义,对使用Image,都要重新new一个Image。在编程的时候new 一个Image,或者Color,非常不方便。
还有界面的刷新太恶心,不支持双缓存。所以我认为现在根本不可能有界面刷新频繁的游戏在SWT上实现,因为界面的刷新延迟就决定了这个问题。如果谁知道有基于SWT类库或者Draw2D类库的游戏,请告知一下,通过OPenGL的方式不算。
感觉SWT和windows绑的太死,这样下去,在桌面应用方面最终可能还是不行。

欢迎在桌面应用方面有经验的朋友和我探讨上面的问题。谢谢
我的msn:  263nl@263.net

7 个解决方案

#1


楼主可以去cjsdn看一下,看到过他们在讨论这方面问题:

http://www.cjsdn.net/post/view?bid=46&id=134194&sty=1&tpg=1&age=0

#2


不太明白,eclipse在linux下的界面也有这么漂亮吗

#3


谢楼上了,其实那个论坛的那篇文章已经看过了,比较赞同longwang的见解,有机会想和他聊聊。
其实开篇说是在一时气愤下写的,现在想想swt可能还不至于那么差,不然不会有人用。
今天看了看ImageData和Image的源码,发现写的比较笨重,在这些对界面至关重要的类,swt居然做的这么差,实在是想不通。
现在感觉SWT做的是一个专业工具,Eclipse能火的主要原因我想就是有一个IDE框架,同时又是开源免费,插件的设计
让更多的软件能集成进来,带动了人气。但即使RCP,或者GEF,EMF,做的都太专,扩展性不好,如果要做到理解和轻松自如
的开发,要花相当大的精力。
那一天SWT能开发类似网络游戏界面(现在有基于SWING的网络游戏),我想SWT就快算成功了。

附:在使用SWT的过程中,发现一个现象,好像SWT特意和SWING斗气,SWING怎么处理,SWT偏不这样处理,很多概念和类名莫名其妙,
很是费解。

#4


这个怎么说呢,我感觉 Java 的桌面版本,特别是图形方面一直追求所谓的跨平台的话

最终是难以在桌面领域成功的,Swing是一个极端,SWT其实本可以做到另一个极端

但是SWT只是一个折中品,我宁可看到完全为 Windows 或 Linux 等定做的 SWT

而不是现在这样的食之无味。

#5


跨平台并不是任何时候都必须的,特别是在桌面领域

#6


没用过swt,只用swing。

你觉得什么爽就用什么好了,实在不行自己封装个类库。

#7


jie tie

#1


楼主可以去cjsdn看一下,看到过他们在讨论这方面问题:

http://www.cjsdn.net/post/view?bid=46&id=134194&sty=1&tpg=1&age=0

#2


不太明白,eclipse在linux下的界面也有这么漂亮吗

#3


谢楼上了,其实那个论坛的那篇文章已经看过了,比较赞同longwang的见解,有机会想和他聊聊。
其实开篇说是在一时气愤下写的,现在想想swt可能还不至于那么差,不然不会有人用。
今天看了看ImageData和Image的源码,发现写的比较笨重,在这些对界面至关重要的类,swt居然做的这么差,实在是想不通。
现在感觉SWT做的是一个专业工具,Eclipse能火的主要原因我想就是有一个IDE框架,同时又是开源免费,插件的设计
让更多的软件能集成进来,带动了人气。但即使RCP,或者GEF,EMF,做的都太专,扩展性不好,如果要做到理解和轻松自如
的开发,要花相当大的精力。
那一天SWT能开发类似网络游戏界面(现在有基于SWING的网络游戏),我想SWT就快算成功了。

附:在使用SWT的过程中,发现一个现象,好像SWT特意和SWING斗气,SWING怎么处理,SWT偏不这样处理,很多概念和类名莫名其妙,
很是费解。

#4


这个怎么说呢,我感觉 Java 的桌面版本,特别是图形方面一直追求所谓的跨平台的话

最终是难以在桌面领域成功的,Swing是一个极端,SWT其实本可以做到另一个极端

但是SWT只是一个折中品,我宁可看到完全为 Windows 或 Linux 等定做的 SWT

而不是现在这样的食之无味。

#5


跨平台并不是任何时候都必须的,特别是在桌面领域

#6


没用过swt,只用swing。

你觉得什么爽就用什么好了,实在不行自己封装个类库。

#7


jie tie