6. SWT 包(Packages)
SWT 主要由下列包组成。这些包的定义是从 Eclipse 的 API 文档上得到的。你可以在
Eclipse 的网站上获得整个 API 文档。
org.eclipse.swt: 包含了定义了 SWT 需要使用的常量和异常的类。这个包由三个类组成:SWT,
SWTException 和 SWTError。SWT 类可能是最受欢迎的类,因为它包含了 SWT 库所需要的
常量如键盘、错误、颜色、布局、文本样式、按钮等常量。
org.eclipse.swt.widgets: 包含了大多数核心 SWT 窗口组件,包括支持的接口和类。
org.eclipse.swt.events: 定义了 SWT 组件使用的 typed events, listeners 和 events。这个包有三
组不同的类:Listener 接口,Adapter 类和 Event 类。
org.eclipse.swt.dnd: 包含了对 SWT 窗口组件拖放(drag-and-drop)支持的类。
org.eclipse.swt.layout: 包含了提供对 SWT 窗口组件自动安置和大小控制的类。
org.eclipse.swt.print: 包含了对 SWT 窗口组件提供打印支持的类。
org.eclipse.swt.graphics: 这个包提供了实现基本绘图操作需要的点,长方形、区域,颜色,
光标,字体,图像上下文(GC)等的类和包含了显示图像代码和载入/保存他们的公有 API
的图像类。
7. 对话框
对话框的实现是本地的。也就是说,对话框像窗口组件一样是平台组件。SWT 的 Dialogs
是从 Dialog 抽象类继承的。对话框不是窗口组件但是他可以容纳窗口组件。
图 2. Dialog 类层次图.
SWT 有不同类型的对话框。有些对话框具有特殊的属性。Dialog 类可以如源代码 2中
使用。
源代码 2. MessageBox 例子
MessageBox messageBox =
new MessageBox(shell, SWT.OK|SWT.CANCEL);
if (messageBox.open() == SWT.OK)
{
System.out.println("Ok is pressed.");
}
每个对话框的 open()方法返回不同的类型。例如, MessageBox 对话框从 open()方法返
回 int 类型。因此,需要编写不同的条件来处理每一个对话框的返回值。
ColorDialog 显示一个色彩选择调色板。它从 return 方法返回一个 RGB 对象。
DirectoryDialog 使你可以选择一个目录。它从 open()方法返回一个字符串。返回值就是
选择的目录。当然,也可以设置额外的过滤器来过滤有些目录。
FontDialog 使用户能够从系统所有的字体中选择一种字体。它从 open()方法返回一个
FontData 对象。
FileDialog 使用户能够选择一个文件。另外,可以设置扩展名过滤器,路径过滤器和文
4