Welcome 微信登录

首页 / 软件开发 / JAVA / SWT和JFace, 第2部分: 简介

SWT和JFace, 第2部分: 简介2011-03-20 IBM Barry Feigenbaum编程人员可以使用 Standard Widget Toolkit (SWT) 和 JFace 库来开发适用于 Eclipse 环境的图形用户界面 (GUI),以及开发单独的 GUI 本机应用程序。

在本系列的 第 1 部分 中,我向您介绍了 Eclipse、Eclipse SWT 和 JFace GUI 工具包,以构造 Eclipse 和单独的富 GUI(rich GUI)。我还介绍了一些基本的标签、文本和按钮 GUI 控件,以及复合、组和 shell 容器类型。最后,我展示了如何将这些控件组合到一个简单的工作应用程序中。

在这一期中,您将学习如何向应用程序添加菜单,如何使用一些列表输入控件,以及如何使用更高级的表和三个容器控件。我还将通过采用一些使构建 GUI 变得更容易的服务方法来演示一些最佳实践。最后,我将向您展示如何将可重用的函数应用到基本应用程序类中。

除非特别注明,所有讨论的小部件和控件都位于 org.eclipse.swt.widgets 包中。

菜单

除了最基本的 GUI 应用程序之外,几乎所有的 GUI 应用程序都需要菜单。菜单增加了任何 GUI 的可用性。菜单是动态呈现的选择列表,它对应于可用的函数(常称为命令)或 GUI 状态。正如您所期望的,您可以使用菜单小部件创建菜单。菜单可以包含其他菜单或者menuItems(菜单项),而 menuItems 也可以包含菜单(即分层的菜单)。menuItems 表示您可以执行的命令或您所选择的 GUI 状态。菜单可以与应用程序(即 shell)的菜单栏相关,或者,这些菜单可以是漂浮在应用程序窗口之上的弹出式菜单。

必须将菜单定义为以下三种互斥样式之一:

BAR 充当 shell 的菜单栏。

DROP_DOWN 从菜单栏或一个菜单项往下拉。

POP_UP 从 shell 弹出,但上下文则针对于一个特定的控件。

菜单支持一些附加的可选样式:

NO_RADIO_GROUP 不充当单选按钮组;当菜单中包含 RADIO 样式的菜单项时可以使用它。

LEFT_TO_RIGHT 或 RIGHT_TO_LEFT 负责选择文本方向。

必须将菜单项定义为以下 5 种互斥样式之一:

CHECK 可以是持久选定的(即复选的)。

CASCADE 包含一个应该以下拉方式出现的菜单。

PUSH 行为类似于造成某一直接动作的按钮。

RADIO 行为类似于一个 CHECK,但是只有一个这种类型的项被选中。

SEPARATOR 充当菜单项的组之间的隔离物(通常是一个条),这一项没有任何功能。