ProgressMonitorDialog构造函数中是否有错误?

问题描述 投票:0回答:1

当我创建一个ProgressMonitorDialog的新实例时,它将忽略内部外壳样式和setBlockOnOpen。我什至不知道这将如何/为什么发生。标题栏中的关闭按钮不起作用(我认为是错误),但是取消按钮可以正常工作。还有其他人遇到此问题吗?还是有些怪异现象触发它的行为有所不同?

我的代码:

ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);
pmd.run(true, true, new MyOperation());

构造函数的源代码:

public ProgressMonitorDialog(Shell parent) {
    super(parent);
    // no close button on the shell style
    if (isResizable()) {
        setShellStyle(getDefaultOrientation() | SWT.BORDER | SWT.TITLE
                | SWT.APPLICATION_MODAL | SWT.RESIZE | SWT.MAX);
    } else {
        setShellStyle(getDefaultOrientation() | SWT.BORDER | SWT.TITLE
                | SWT.APPLICATION_MODAL);
    }
    setBlockOnOpen(false);
}

我在标题栏中看到的内容:

pic

java swt jface
1个回答
1
投票

几乎可以肯定这取决于平台(Mac,Linux,Windows ...)。并非所有平台都支持没有关闭按钮,最好的办法是禁用它。

© www.soinside.com 2019 - 2024. All rights reserved.