快速业务通道

SWT和JFace, 第2部分: 简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

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 充当菜单项的组之间的隔离物(通常是一个条),这一项没有任何功能。

SWT和JFace, 第2部分: 简介(2)

时间:2011-03-20 IBM Barry Feigenbaum

创建一个菜单系统是相当复杂的。清单 1 显示了一个代码示例,该示例创建了一个可操作的菜单系统。

清单 1. 创建一个菜单系统和一个弹出菜单

import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.*; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*;   : Shell shell = ...;   : Label body = ...;   : // Create the menu bar system Menu main = createMenu(shell, SWT.BAR | SWT.LEFT_TO_RIGHT); shell.setMenuBar(main); MenuItem fileMenuItem = createMenuItem(main, SWT.CASCADE, "&File",                     null, -1, true, null); Menu fileMenu = createMenu(shell, SWT.DROP_DOWN, fileMenuItem, true); MenuItem exitMenuItem = createMenuItem(fileMenu, SWT.PUSH, "E&xit\tCtrl+X",                     null, SWT.CTRL + ''X'', true, "doExit"); MenuItem helpMenuItem = createMenuItem(main, SWT.CASCADE, "&Help",                     null, -1, true, null); Menu helpMenu = createMenu(shell, SWT.DROP_DOWN, helpMenuItem, true); MenuItem aboutMenuItem

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号