一個典型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對象。
付:在我得項目中得線程處理:
自己建立一個線程作為主線程,界面反而是個附屬線程,線程通信是一樣得