JFace 对话框始终在顶部且无模式

JFace dialog always on top and modeless

我创建了一个 JFace 无模式对话框并尝试使用以下选项设置 shell 样式

setShellStyle(SWT.CLOSE | SWT.TITLE |SWT.MODELESS |SWT.ON_TOP);

我希望此对话框始终位于最前面,但是当我最小化 eclipse 时对话框会最小化 workbench。

我是否遗漏了 shell 样式位,或者这是预期的行为?

如何在最小化 eclipse 应用程序的情况下制作始终在最前面的对话框?

public class Capture extends Dialog {

    public Capture(Shell parentShell) {
        super(parentShell);
        setShellStyle(SWT.CLOSE | SWT.TITLE |SWT.MODELESS |SWT.ON_TOP);
    }

}

对父 Shell 使用 null,这样对话框就不是您正在最小化的 window 的子对话框。

我没有足够的声誉来发表评论。所以发布这个作为答案。 这里面的parentShell是什么?这决定了对话的生命和行为。创建一个新的 shell 或将 null 作为 shell。那应该消除与 workbench 的联系。 另一个问题:为什么要尝试这个?