本次項目開發(fā)中需要在RCP中集成Swing的一個組件,并且需要監(jiān)聽Swing的消息打開JFace的對話框,本來這種方式是比較簡單的需求,但由于不知SWT和Swing是在不同的線程中運行造成了許多笑話.如打開的對話框后,無法刷新Swing的頁面,主要是考慮到有些代碼在Swt中,因此,用了同步運行的方式來打開對話框,造成了線程阻塞.一定要以異步方式打開.下次堅決不能犯如此低級的錯誤.
display.asyncExec(new Runnable() {
public void run() {
setStatusLineMessage(message);
}
});