第一章:SWT
第一节:SWT/JFace简介
SWT(Standard Widget Toolkit) 即标准小窗口工具箱,是 IBM公司推出的一种在Eclipse 中使用的集成开发环境,SWT提供可移植的 API,并与底层本机OS GUI平台紧密集成,它 是一个与本地窗口系统集成在一起的小部件集和图形库。 SWT由 JNI (Java Native Interface,Java 本机接口)调用操作系统的内部API,因此运行速度快,能够获得与操作系统的内部应用程序相同的外观。
JFace是一个用户界面工具箱,也是一个易用、功能强大的图形包,它简化了常见的图
形用户界面的编程任务。SWT和JFace都是 Eclipse 平台上的主要组件。JFace是在 SWT的 基础上创建的,但JFace并不能完全覆盖SWT的功能,JFace和 SWT的关系如图 4.1所示。 由于JFace的功能更强大,因此做图形界面开发时一般优先选用 JFace。
第二节:开发SWT程序
开发SWT程序之前,需要我们在工程里导入一个包,如下:
该jar包可以在XXX\\eclipse\\plugins目录下找到。导入之后,即可开发SWT程序。
一个最简单的SWT程序
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text;
class HelloSWT { }
public static void main(String[] args) {
// 创建一个display对象。
Display display = new Display(); // shell是程序的主窗体
Shell shell = new Shell(display); // 设置shell的布局方式 shell.setLayout(null);
// 声明一个可以显示多行信息的文本框
Text hello = new Text(shell, SWT.MULTI); // 设置主窗体的标题
shell.setText(\应用程序\); // 设置主窗体的大小
shell.setSize(200, 100);
// 声明颜色对象
Color color = new Color(Display.getCurrent(), 255, 255, 255); // 设置窗体的背景颜色
shell.setBackground(color); // 设置文本框信息
hello.setText(\你好,SWT世界!\); // 打开主窗体 shell.open();
// 如果主窗体没有关闭则一直循环
while (!shell.isDisposed()) { }
// 如果display不忙
if (!display.readAndDispatch()) { display.sleep(); // 休眠 }
display.dispose(); // 销毁display }
? Display类:是SWT应用程序中的基础类,它负责在应用程序和本地操作系统之间建
立交互。 Display类是从Device继承而来。
? Display封装了对本地操作系统资源,事件和各种控件的管理,是开发SWT应用程序
的基础。
?
Shell 样式
SWT常用组件
1 按钮组件
按钮(Button)组件是SWT中最常用的组件,Button类的构造方法是: Button(Composite parent,int style)
该方法有两个参数:
1. 第一个参数parent是指Button创建在哪一个容器上。Composite(面板)是最常用的
容器,Shell(窗体)继承自Composite,此参数也能接受 Shell和任何继承自 Compsite的类。
2. 第二个参数style用来指定Button的式样。SWT组件可以在构造方法中使用式样
(style)来声明组件的外观形状和文字的式样。SWT组件的构造方法和 Button类相似,参数的含义也相同。
1.Button组件常用式样 SWT.PUSH:按钮。
SWT.CHECK:多选按钮。 SWT.RADIO:单选按钮。 SWT.ARROW:箭头按钮。 SWT.NONE:默认按钮。
SWT.CENTER:文字居中,与 SWT.NONE 相同。 SWT.LEFT:文字靠左。 SWT.RIGHT:文字靠右。 SWT.BORDER:深陷型按钮。 SWT.FLAT:平面型按钮。