Java桌面技术

Java Desktop Technology

常用链接

统计

友情连接

最新评论

我的评论

共2页: 上一页 1 2 
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-04 12:11  
@BeanSoft
不仅Eclipse,netBeans、JBuilder哪个不是啊。Eclipse的慢不应该是界面导致。
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-04 12:09  
@欢乐猪
“如果是重载paint(Graphics),从零开始自己画控件和处理事件,那么SWT和Swing是没有区别的”。如果是真的,当初的项目就不会那么费事了,SWT的addPaintListener是无法将组件绘制成半透明效果的。而swing通过重写paintComponent并去掉super.paintComponent。然后利用Graphics2D可轻松实现。
总之,SWT实现专业外观不合适,Swing是用来打造专业外观的组件库,我们开发的产品是IM即时通讯类终端,没有专业外观行么。Eclipse RCP看起来像Eclipse,如果客户接受那套外观,Eclipse RCP无疑是最适合的。
再有SWT不是Java Bean,这个是很致命的。项目中被搞得很无奈,因此后来项目组决定放弃Eclipse RCP重新写一套Framework。
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-04 11:54  
@zhrb
SWT能跨平台,但是我不敢保证效果很好,据说SWT在Linux上bug很多。SWT要实现跨平台,可能要考虑更多东西,必须OLE可能就不兼容。能否支持某一平台看一看能否在那平台上运行Eclipse就行了。
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-04 11:49  
@欢乐猪
对于大多数标准外观应用,用Swing确实有点小题大做。SWT的特点就是简单,简单包含使用简单和外观简单两层含义,这也就决定了SWT并不会在短时期内消亡,何况它有Eclipse撑腰。但是即使用SWT,上述Demo,大多数是自定义组件,原因很简单,就是原生组件不好看。
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-04 00:22  
@Lf0x
由于工作以来,GUI开发大多都是基于SWT,所以前几篇文章多是SWT为主。后面的贴逐渐会转到Swing。但是九宫图属于设计范畴,与如何实现没太大联系,其实网页设计中的JavaScript里也经常用到类似的技术。
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-04 00:12  
@Matthew Chen
“楼主提到Java已经可以在桌面应用领域挑战C/C++,VB,Delphi等等”,只是我的希望,我觉得可行是第一,除C++,VB、Delphi的开发者群会逐渐减少,而C++程序员不会把重点放在纯粹的桌面开发,他们通常会借助VC++或C#那种拖拽工具来实现,基于此就会导致第二个问题。第二,Java的跨平台,这是得天独厚的优势。
至于Java性能的问题,我刚派到BEA工作时针对终端为什么采用Java语言问过技术高层,他们的解释是:可以定一个性能指标,假设这个指标是1G CPU、256M内存,小于这个性能值的计算机运行C++时的性能会高于运行Java时的性能,大于这个值的话两者的性能差距就很小了,甚至可以忽略。而且对于初级C++程序员很难写出高效的程序,Java语言本身也利于写出健壮的代码,而C++要为诸如如何避免程序崩溃付出很多,总之swing能与VB等语言挑战,很大程度得意于Java本身。

至于SWT,我仅列举2点最致命的弱点就足矣另SWT在Swing之下了。第一,SWT组件不是Java Bean,从构造函数可以看出必须要指定一个父组件,而这个限制对于实现模块间的松偶合是很不利的。第二,SWT不支持皮肤。
SWT中的Draw2D我了解的不多,但是见IBM官方说性能还不是很好,究其原因可能也是采用非本地调用组件,直接绘制造成的吧,和swing差不多了,但是这样一来SWT在打造外观来说可能会是个不小的进步。 至于IBM会不会将SWT提高规模,我看关键是有外界刺激,如果Swing变得很强大,那么IBM应该不会坐以待毙吧。你说的JFileChooser确实是swing的一大缺点,看Sun怎么看了,没准JDK1.7会有所改观呢:)。
re: 打造专业外观-九宫图 sun_java_studio@yahoo.com.cn(电玩) 2007-11-03 23:07  
@eddie
初学JavaGUI,最好买一本专门介绍swing的书,O'REILLY系列的swing第二版就不错,封面是猴子的那本。如果你想深入了解桌面开发,不要一上来就学SWT,除非工作需要,如果熟悉swing的话翻回来看SWT是毫不费力的。切记的一点是,初学Java GUI不要用任何可视化工具,道理就像没学会走路就想飞一样。
re: SWT自定义组件之Slider sun_java_studio@yahoo.com.cn(电玩) 2007-10-30 22:25  
@Matthew Chen
虚拟滑块的图片本来就是圆角矩形,轮廓是用虚线勾出来的,你替换其他图片试试,不应该是程序的原因。
re: SWT自定义组件之Slider sun_java_studio@yahoo.com.cn(电玩) 2007-10-30 15:51  
@Matthew Chen
大可不必调用redraw(tempLocation, 0, TEMP_H.getBounds().width,TEMP_H.getBounds().height, false)两次。
开始我也是这么写的,后来改进只在tempLocation赋值后调用,我运行程序的时候没发现边缘缺失的现象。
re: SWT自定义组件之Slider sun_java_studio@yahoo.com.cn(电玩) 2007-10-30 15:47  
@Matthew Chen
paintControl方法作用的是整个图形区域,也就是说画是整个区域的重画,但是擦除如果是整个区域擦除的话那屏幕就会闪了,你可以将redraw(tempLocation, 0, TEMP_H.getBounds().width,TEMP_H.getBounds().height, false); 这行代码理解为“擦除”,擦除原来区域的图像(在执行擦除前,原来区域的区域的图像是旧虚拟滑块,等到操作系统执行绘制时,那部分区域已不是虚拟滑块了),新的temp thumb绘制是在paintControl方法完成的。
画是整个区域的重画,擦是部分部分被擦。
re: netBeans6.0咸鱼翻身与Swing称霸桌面应用 sun_java_studio@yahoo.com.cn(电玩) 2007-10-27 17:00  
@zongxing
同意“真正的高手做开发时还是用swing的”这种说法,但是很少有桌面软件对外观要求得很严格,SWT能满足大多数客户。
SWT和Swing共存,不然Swing和谁竞争去?
re: netBeans6.0咸鱼翻身与Swing称霸桌面应用 sun_java_studio@yahoo.com.cn(电玩) 2007-10-26 17:37  
据可靠消息,VB Delph的程序员极具减少,我想Java之所以在桌面开发不乐观是和中国人懒得安装JVM有很大关系,如果JVM向IE一样普及,swing借助跨平台在桌面打到VB只是时间的问题。
re: netBeans6.0咸鱼翻身与Swing称霸桌面应用 sun_java_studio@yahoo.com.cn(电玩) 2007-10-26 17:32  
@cnodin
如果满足于Windows默认改观,那么SWT可能适合你,但是swing支持自定义外观,利用swing可以将界面做得很酷,这一点SWT是做不到的。
re: 求《Pro Netbeans IDE 6 Rich Client Platform Edition》电子版 sun_java_studio@yahoo.com.cn(电玩) 2007-10-23 18:13  
@Matthew Chen
我曾经负责过Java前台的开发,Swing,SWT都用过。
共2页: 上一页 1 2 
TWaver中文社区