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