SWT Designer是优秀的SWT/JFace开发辅助工具, 以下通过写一个Hello World的小程序来简单了解下SWT!
首先从官方网站下载http://www.swt-designer.com,之后,把对应的文件拷贝到Eclipse目录下,这时,在Eclipse的windows的首选项里面,就可以看到designer了,点击注册,通过注册机完成注册!
然后新建项目时候,选择designer下面的 SWT/JFace java project , 项目名字右键 new other ... designer... Swt...Application Window 选项 新建一个 第3项 main 主函数的 类, 然后就可以运行这个类了。 生成的代码如下:
package
src;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class HelloWorld ... {
/** *//**
* Launch the application
* @param args
*/
public static void main(String[] args) ...{
//display负责管理事件循环和控制UI线程和其他线程之间的通信
final Display display = Display.getDefault();
final Shell shell = new Shell(); //SHELL是程序的主窗口
shell.setSize(500, 375); //主窗口大小
shell.setText("SWT Application");//主窗口标题
//
shell.open();
shell.layout();
while (!shell.isDisposed()) ...{ //如果,主窗口没有关闭,则一直循环
if (!display.readAndDispatch())//如果DISPLAY不忙
display.sleep(); //DISPLAY休眠
}
}
}
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class HelloWorld ... {
/** *//**
* Launch the application
* @param args
*/
public static void main(String[] args) ...{
//display负责管理事件循环和控制UI线程和其他线程之间的通信
final Display display = Display.getDefault();
final Shell shell = new Shell(); //SHELL是程序的主窗口
shell.setSize(500, 375); //主窗口大小
shell.setText("SWT Application");//主窗口标题
//
shell.open();
shell.layout();
while (!shell.isDisposed()) ...{ //如果,主窗口没有关闭,则一直循环
if (!display.readAndDispatch())//如果DISPLAY不忙
display.sleep(); //DISPLAY休眠
}
}
}
从这个代码可以看到,创建一个典型的SWT应用程序需要以下的步骤:
- 创建一个Display
- 创建一个或多个Shell
- 设置SHELL的布局
- 创建Shell中的组件(以上代码中没有组件,只有一个主窗口,run时候就可以看到一个空的窗口)
- 用open()方法打开Shell窗口
- 写一个事件转发循环
- 销毁Display。
下面,进行窗口中组件的添加, 首先, 把视图切换到designer项,选择SWT Controls分类下的text 组件,放入窗口中,然后对这个组件的属性设置中的 text 设置为 HelloWorld 。 (其他的属性都可以根据自己的情况来设定) 但是 SWT Designer 还无法完成所有的界面设计工作,所以,界面开发中,仍然是以代码设计为主的, 另外 SWT Designer 还不是狠稳定, 界面加入太多的组件, 或频繁的添加删除组件,都有可能造成内存耗尽而死机。