gpt4 book ai didi

java - 如何将焦点集中到 Eclipse RCP TitleAreaDialog?

转载 作者:行者123 更新时间:2023-11-30 03:01:49 25 4
gpt4 key购买 nike

我的 Eclipse RCP View 中有一个按钮,可以使用表单弹出一个 TitleAreaDialog 窗口。但是,当我单击该按钮时,TitleAreaDialog 会在我的 View 后面弹出,而不是在它前面以吸引用户的注意力。

这就是我的对话框的声明方式:

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() 但没有效果。哈尔普。

编辑:解决方案

我使用了错误的 shell:

public void editFeature(){
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {

public void run() {
Shell activeShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
PopUpEditForm p = new PopUpEditForm(activeShell);
}
}

最佳答案

我建议你使用:

    public void editFeature()
{
Display disp = new Display();
Shell she = new Shell(disp);
PopUpEditForm p = new PopUpEditForm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
}

理想情况下,对话框应位于窗口上方。

关于java - 如何将焦点集中到 Eclipse RCP TitleAreaDialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35762272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com