【发布时间】:2016-03-03 02:50:35
【问题描述】:
我在我的 Eclipse RCP 视图中有一个按钮,它使用一个表单弹出一个 TitleAreaDialog。但是,当我单击按钮时,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(),但无济于事。停下来。
编辑:解决方案
我使用了错误的外壳:
public void editFeature(){
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
Shell activeShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
PopUpEditForm p = new PopUpEditForm(activeShell);
}
}
【问题讨论】:
标签: java eclipse dialog eclipse-rcp rcp