hengheng123456789

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
      SWT/JFace 象一股清新的风吹入了 Java GUI 开发领域,为这个沉闷的领域带来了勃勃生机。虽然 SUN 不接纳 SWT/JFace 作为 Java 中的一种图形 API 标准,但它虽然借着 Eclipse 的优异表现,以不可阻挡之势向前发展着。终于可以用 SWT 轻松的开发出高效率的 GUI 程序,且拥有标准的 Windows 外观, Eclipse 软件就是基于 SWT/JFace 构建的,大家看看 Eclipse3.0 就知道 SWT 有多么的棒。

   为了方便开发SWT程序,在SWT基础上又创建了一个更易用、功能强大的图形包“JFace”。然而,JFace并不能完全覆盖SWT的所有功能,所以编程时SWTJFace都会要用到,但是一般来说,能用JFace的组件就最好不要用SWT

SWT中的包

SWTEclipse图形API的基础,本节将简单介绍一下SWT中所包含的子包。

1org.eclipse.swt.widgets

最常用的组件基本都在此包中,如ButtonTextLabelCombo等。其中两个最重要的组件当数ShellCompositeShell相当于应用程序的主窗口;Composite相当于SWING中的Panel对象,是容纳组件的容器。

2org.eclipse.swt.layout

主要的界面布局方式在此包中。SWT对组件的布局也采用了AWT/SWING中的LayoutLayout Data结合的方式。

3org.eclipse.swt.custom

对一些基本图形组件的扩展在此包中,比如其中的CLabel就是对标准Label组件的扩展,在CLabel上可以同时加入文字和图片。在此包中还有一个新的布局方式StackLayout

4org.eclipse.swt.event

SWT采用了和AWT/SWING一样的事件模型,在包中可以找到事件监听类和相应的事件对象。比如,鼠标事件监听器MouseListenerMouseMoveListener等,及对应的事件对象MouseEvent

5org.eclipse.swt.graphics

此包中包含针对图片、光标、字体或绘图API。比如,可通过Image类调用系统中不同类型的图片文件。

6org.eclipse.swt.ole.win32

对不同平台,SWT有一些针对性的API。例如,在Windows平台,可以通过此包很容易的调用OLE组件,这使得SWT程序也可以内嵌IE浏览器或WordExcel等程序。

此外还有org.eclipse.swt.dndorg.eclipse.swt.printingorg.eclipse.swt.programorg.eclipse.swt.accessibilityorg.eclipse.swt.browserorg.eclipse.swt.awt等包,在此不一一介绍了。这些包一般很少用到,只需要稍微了解一下就行了,不必深究。

SWT Designer

   SWT Designer是优秀的SWT/JFace开发辅助工具
http://downloads.instantiations.com/Designer/release/v5.1.0_20060908125203/Designer_v5.1.0_win32_x86.exe
http://www.codefocus.cn/code/JAVA/SWT_Designer5.rar
codefocus.cn解压

   SWT Designer还无法完成所有的界面设计工作,所以在界面开发中依然是以手工写代码为主,而且手写代码某些时候比界面拖拉操作更快捷。以下是笔者在使用SWT Designer开发界面时的基本流程:

l           新开一个临时的Application文件,用SWT Desiger快速做好开发所需要的部份界面。

l           将自动生成的代码移植到正式项目中,进行手工修改和代码精简。

另外,由于SWT Designer不是很稳定,所以在使用时还应注意:

l           不要在界面中加入太多组件。

l           不要频繁的移动组件,或者删除又添加组件,否则很可能因为内存耗尽而死机。

posted on 2006-10-30 18:18 哼哼 阅读(605) 评论(0)  编辑  收藏 所属分类: SWT

只有注册用户登录后才能发表评论。


网站导航: