17580246我想继续封装SWT,把他的线程模型简化了,让他使用起来象MFC那样,适用于做界面。

解决方案 »

  1.   

    我对Java开发UI是不看好,但是SWT的表现还算不错呐,但是速度依然比VB要慢,这种速度诧异是可以体会到的。
          但是Java的强大,和跨平台特性是吸引人的。
          SWT作为一个新的选择,给Java的桌面市场带来了一些希望,但是就我几天的学习来看:第一,我熟悉MFC的界面开发,所以对于它的开发方式,已经对象的层次和回调,消息处理等都很不习惯。第二,我发现SWT的线程模型似乎有些复杂,网上随处可以这方面的文章。
          我并不知道Java的程序员是不是习惯了Swing的开发模型,但是我是很难接受布局管理器的。所以我打算在SWT的基础上,简化其线程模型,并且封装出一套类似与MFC的开发接口,以供自己使用。
          而且现在,我正在预研阶段,甚至不知道这么做是不是愚蠢的。也不知道会有多大的难度。但是我隐约觉得,这样做完了,至少可以吸引VC的程序员。对于他们来说,可以很快了解这套体系。使用的时候无非是对照一下API的参数。
          此外,这样做完了,形成的就是类似于MFC的框架,而不是需要程序员从SWT的基础写起,从Display,Shell写起。它会吸取MFC的有点,并且把界面逻辑和业务逻辑分离。
          我打算在空闲的时候就做一做它。
      

  2.   

    我是个Eclipse的新手,向你虚心请教以下问题:
    1:SWT的组件机制好像有些不同于AWT/Swing,它竟然不用add方法,而是设置一个坐标,我就纳闷,我怎么保证我设置的坐标不超出我的父组件而无法显示呢? SWT的组件之间到底是个什么样的关系呢?和AWT/Swing有什么不同呢?
    2,Display是干吗的,它在整个组件的显示中承担什么任务,担当什么角色?
    3,Eclipse带的那个SWT等API的帮助文档没有索引,哪里可以下到类似jdk的chm版的eclipse的有索引查询的帮助文档呢?
    4,我的编辑器有时候老是显示一部份代码,右边的大纲视图的杰作,如何让编辑器一直显示全部代码?
    5,对于一个Shell来说,close和dispose,open和setVisible有什么区别??
    6,这段代码是什么意思??
     while(!s.isDisposed())
            {
                if(!d.readAndDispatch())
                {
                    d.sleep();//指的是线程sleep还是终止呀,如果sleep了整个程序能退出吗?
                }
            }7,在Eclipse下用SWT写的程序,在Eclipse下执行没有问题,但是导出为.jar文件,执行时说找不到main类,我明明搜索设置了呀,怎么回事??
    8,用eclipse的api写的程序如果拿到一没有Eclipse而只有java虚拟机的环境下执行,程序上哪找eclipse的api定义的类去呀?这个问题是怎么解决的呀!请帮帮小弟,万分感谢 !!