SWT/JFace技术初步介绍

        大二的时候,我们团队做了一个组合服务流程建模的工具,该工具可以让用户通过可视化的流程图形建模,生成对应于流程的BPEL代码,那时候我主要负责页面部门,用的是 SWT/JFace技术,本文首先对SWT/JFace做一些简单的介绍。

 

1.1 Face与其他图形界面设计工具的比较

Java图形界面实现方式有很多,比如AWTSWINGSWT等。AWTSWING不论是在速度上还是美观上都有很大的不足;对于比较庞大而复杂的系统,用AWTSWING相很难实现,因为运行的速度会相当的慢。SWT直接使用操作系统提供的本地图形接口,具备本地化的Look & Feel,效率高且美观。因此,本项目选择SWT作为图形界面开发基础工具包。

2-1SWT原理图,图2-2JFace原理图

    

 

SWTWin32API简单的包装了一下,系统在SWT这一层调用的方法、传递的参数被原封不动的代理到了Win32层。这是SWT的核心思想。SWT有一个很重要的设计原则,那就是,SWTAPI一对一的封装OSAPI,完全忠实于操作系统的API实现的行为,如果有bug,那也是OSbug,它不会尝试去“纠正”操作系统,因为那样会潜在的破坏本地化的一些行为。忠实于OS也使得调用者不必但心自己的SWT程序会跟OS的本地GUI有不一致的地方。因此,SWT拥有标准的与操作系统相同的外观,几乎没有人能看出你的程序是用Java写出来的,更为重要的是,其程序运行的效率可以和VC++写出的程序向媲美,而且开发的效率也不在AWT/SWING之下。

更多的介绍将会在以后的文章中写到

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者:talent_marquis邮件:talent_marquis@163.com################19/12/2007更新###################新添加/重写的功能:1. 已实现简单的剪切/复制/粘贴功能(尚不能和外界程序交互)2. 添加创建新文件夹功能3. 添加选择全部/文件/文件夹功能4. 增加对创建新文件夹,重命名,删除,粘贴操作的异常处理5. FileUtil中增加getFileCentent方法,用于读取文本文件内容6. 重写AboutDialog7. 重写ExitAction8. 重写FileUtil中doPaste()方法,显著提高速度,修正拷贝文件时会导致文件不正常的严重Bug9. 修正其他部分已发现Bug10. 版本号升级为0.5尚未实现的功能:1. 与外界程序的交互2. 拖拽3. 国际化4. 输入文件名时对特殊字符的验证################17/12/2007更新###################新添加/重写的功能:1. 排序功能已加入菜单栏和弹出菜单2. 重写图标载入方法,已经可以实现图标动态载入和识别3. 重写TableViewer中tableColumn生成载入方法,已经可以实现tablecolumn的半动态载入和识别4. 实现动态识别文件类型5. 进行删除操作时,对删除的文件进行识别6. 更新添加了一些FileUtil中的方法,并且把这个类的注释写的差不多了 - -注意:1. icons文件夹内的文件结构有变化。2. jar文件没有更新,如果需要打好包的jar文件请等我把功能都实现后的那个版本 - -尚未实现的功能:1. 剪切/复制/粘贴功能2. 拖拽功能3. 详尽的注释4. 异常处理5. 国际化################14/12/2007更新###################已经实现的基本功能:1. 树形浏览结构2. 双击 运行程序/进入下一级菜单目录3. 返回上一级菜单4. 重命名5. 刷新6. 删除7. 按文件名/大小/类型/最后修改日期排序8. 对当前文件夹进行过滤操作9. 对当前文件夹的简要统计尚未实现的功能:1. 剪切/复制/粘贴2. 拖拽3. 弹出菜单中的排序选项4. 动态识别文件类型5. 详尽的注释已知的Bug:1. TreeViewer进行目录切换时,TableViewer窗体有时会变成空白2. 有特殊字符的过滤操作将导致异常3. 重命名没有考虑特殊字符4. 有大量文件(几百个以上)的目录会打开的很慢5. 文件删除失败时没有提示######新添加/重写的功能:1. 已实现简单的剪切/复制/粘贴功能(尚不能和外界程序交互)2. 添加创建新文件夹功能3. 添加选择全部/文件/文件夹功能4. 重写AboutDialog5. 增加对创建新文件夹,重命名,删除,粘贴操作的异常处理6. 重写ExitAction7. 修正部分已发现Bug尚未实现的功能:1. 与外界程序的交互2. 拖拽3. 国际化4. 输入文件名时对特殊字符的验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值