创建一个典型的 SWT 应用程序需要以下步骤:
1. 创建一个 Display 对象
2. 创建一个或多个 Shell 对象
3. 设置 Shell 的布局
4. 创建 Shell 中的组件
5. 用 open()方法打开 Shell 窗体
6. 写一个事件转发循环
7. 销毁 Display 对象
新建一个Java工程,导入swt依赖库:
/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.0.v3550b .jar ( linux平台)
或 org.eclipse.swt.win32.win32.x86_3.2.1.v3235 .jar (windows平台)
注:蓝色部分根据不同的平台、eclipse版本而有所不同
接下来就可以编写第一个SWT程序HelloSWT了:
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;
public class HelloSWT {
/**
* @param args
*/
public static void main(String[] args) {
Display display = new Display(); // 创建一个display对象
Shell shell = new Shell(display); // shell是程序的主窗体
shell.setLayout(null); // 设置shell的布局方式
Text hello = new Text(shell, SWT.MULTI); // 声明一个可以显示多行信息的文本框
shell.setText("Java SWT 应用程序"); // 设置主窗体的标题
shell.setSize(200, 100); // 设置主窗体的大小
Color color = new Color(Display.getCurrent(), 255, 255, 255); // 声明颜色对象
shell.setBackground(color); // 设置窗体的背景颜色
hello.setText("Hello, SWT World!\n\n你好,SWT世界!"); // 设置文本框信息
hello.pack(); // 自动调整文本框的大小
// shell.pack(); // 自动调整主窗体的大小
shell.open(); // 打开主窗体
while (!shell.isDisposed()) { // 如果主窗体没有关闭则一直循环
if (!display.readAndDispatch()) // 如果display不忙
display.sleep(); // 休眠
}
display.dispose(); // 销毁display
}
}