我在我的Eclipse RCP視圖中有一個按鈕,它使得帶有表單的TitleAreaDialog
彈出。但是,當我點擊該按鈕時,TitleAreaDialog
彈出在我的視圖後面,而不是在前面,以引起用戶的注意。如何將重點放在Eclipse RCP TitleAreaDialog上?
這是我的對話是如何宣稱:
public class PopUpEditForm extends TitleAreaDialog {
public PopUpEditForm(Shell parentShell) {
super(parentShell);
//Irrelevant logic
}
//Other functions to populate/create the form
}
這是它是如何叫:
public void editFeature(){
Display disp = new Display();
Shell she = new Shell(disp);
PopUpEditForm p = new PopUpEditForm(she);
}
我試着設置了用於顯示形式容器中的焦點(.setFocus()
)以及該容器的組件。我也用.forceActive()
但無濟於事。 HALP。
編輯:解
我用錯了殼:
public void editFeature(){
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
Shell activeShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
PopUpEditForm p = new PopUpEditForm(activeShell);
}
}
我知道我使用的是錯誤的shell,而且不知道如何獲得活動的shell。謝謝,這工作。 – Sterls
對不起,我忘了提及刪除行 Display disp = new Display(); Shell she = new Shell(disp); – Kumar