可以使用标准窗口小部件工具箱(Standard Widget Toolkit,SWT)和 JFace 库来开发用于 Eclipse 环境的图形用户界面,而且还可以将它们用于开发单独的 GUI 本机应用程序。在本文中,我将介绍一些基本的 SWT(基本 GUI 对象的名称)类型,并展示如何综合使用它们来创建有用的应用程序。
关于 Eclipse、SWT 和 JFace
正如 Eclipse 的 Web 站点上所提到的,Eclipse 是一种通用工具平台。它是一个开放的、可用于任何东西的可扩展 IDE,没什么特别之处,它为工具开发人员提供了灵活性以及对软件技术的控制。
Eclipse 为开发人员提供了生产大量 GUI 驱动的工具和应用程序的基础。而这项功能的基础就是 GUI 库 SWT 和 JFace。
SWT 是一个库,它创建了Java 版的本地主机操作系统 GUI 控件。它依赖于本机实现。这意味着基于 SWT 的应用程序具有以下几个关键特性:
- 它们的外观、行为和执行类似于“本机”应用程序。
- 所提供的窗口小部件(widget)反映了主机操作系统上提供的窗口小部件(组件和控件)。
- 主机 GUI 库的任何特殊行为都在 SWT GUI 中得到反映。 这些目标使得 SWT 不同于 Java 技术的 Swing,Swing 的设计目标是消除操作系统的差异。
SWT 库反映了主机操作系统的基本窗口小部件。在许多环境下,这种方法太低级。JFace 库有助于向 SWT 应用程序中添加大量服务。JFace 并没有隐藏 SWT,它只是扩展了 SWT。正如您将在这一系列的后面部分中看到的,SWT 最重要的扩展之一是,将应用程序的数据模型与显示及更改它的 GUI 隔离开来。
在开始之前,我需要介绍一些 SWT 术语:
- Widget —— 基本的 SWT GUI 组件(类似于 Java AWT 中的 Component 和 Swing 中的 JComponent)。Widget 是一个抽象类。
- Control —— 拥有操作系统的对等物的窗口小部件(换句话说,在操作系统中具有同一身份)。Control 是一个抽象类。
- Composite —— 包含其他控件的控件(类似于 Java AWT 中的 Container 和 Swing 中的 JPanel)。
-
Item —— 其他控件包含的窗口小部件(该控件可能不是复合控件),比如列表和表。注意,包含一些项的控件很少包含其他控件,反之亦然。Item 是一个抽象类。 这些窗口小部件被安排在继承层次结构中。参见图 1、图 2 和图 3,了解它们是如何安排的。在图 2 中,Basic1 类是来自本文的类,而其他所有类都是标准的 SWT 窗口小部件。
图 1. SWT Widget 树
图 2. SWT Composite 树
图 3. SWT Item 列表
注意,Eclipse 具有跨平台特性(因此可以在许多操作平台上运行),本文基于 Eclipse 的 Microsoft? Windows? 版本。因此,本文包含的每个例子都应该能够不加任何更改地在其他平台上使用。还要注意的是,本文是基于 Eclipse V3.0 的。Eclipse V3.1 中添加了少许 GUI 窗口小部件类型和特性。
<!-- baidu_tc block_end --> -
http://dev.yesky.com/30/2015530.shtml
相关推荐
### Eclipse中用SWT和JFace开发入门 #### 一、引言 Eclipse平台以其强大的功能和灵活性闻名,尤其适合开发复杂的图形用户界面(GUI)应用程序。本文将深入探讨如何利用Standard Widget Toolkit (SWT) 和 JFace 库在...
在Eclipse中开发图形用户界面(GUI)时,SWT(Standard Widget Toolkit)和JFace是两个关键的库。SWT是Java的一个本地化GUI库,它直接与操作系统交互,提供与本机应用程序相似的外观、行为和性能。与Java Swing不同...
SWT(Standard Widget Toolkit)和JFace是Java中用于图形用户界面(GUI)开发的两个重要库,尤其在Eclipse IDE及其插件开发中广泛使用。本教程将深入讲解这两个库,帮助开发者掌握如何利用它们创建高效、美观的Java...
总的来说,"eclipse-snippets.rar"这个压缩包是一个宝贵的Eclipse学习资源,包含了从基础的SWT布局到高级的GEF图形编辑器开发的多个方面,无论你是初学者还是经验丰富的开发者,都能从中获取到有价值的知识和实践...
使用 SWT(Standard Widget Toolkit)和 JFace(JavaFaces)库,开发者可以方便地创建和组织菜单和工具栏。JFace 提供了 Action 和 Command 框架,使得菜单和工具栏的创建更加抽象和灵活。 9. **视图和编辑器** ...