一个典型SWT应用程序有一个Display对象,这个对象负责管理事件循环和控制UI线程和其他线程之间得通信。
可以有多个shell,shell是程序得主窗口,其实shell是容器,是Composite得子类。
Shell shell = new Shell();
Composite composite = new Composite(Composite parent, int style);
SWT线程:
界面是一个默认线程(相当于主线程)。
1: 后台新建一个线程。
new Thread() {
public void run() {
}
}.start();
2: 后台线程访问界面线程(线程之间通信):
Display.getDefault().syncExec(new Runnable(){
public void run() {
//前台界面对象处理
}
});
RCP中可以通过Application类得到Display对象。
付:在我得项目中得线程处理:
自己建立一个线程作为主线程,界面反而是个附属线程,线程通信是一样得