SWT教程与常用控件 下载本文

内容发布更新时间 : 2024/5/20 2:20:12星期一 下面是文章的全部内容请认真阅读。

第一章: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:平面型按钮。