如何判断SWT Shell是以编程方式还是由用户关闭的?

时间:2013-07-12 17:58:18

标签: java event-handling swt

我知道我可以使用此代码来判断shell何时关闭,

shell.addShellListener(new ShellAdapter()
{
    @Override
    public void shellClosed(ShellEvent e)
    {
        System.out.println("closed");
    }
}

但是ShellEvent对象没有告诉我Shell是否以编程方式关闭,或者当用户单击X按钮时。

有办法告诉吗?

1 个答案:

答案 0 :(得分:2)

我花了一些时间来区分关闭ShellEvent是否由用户系统生成。

在两个案例中检查ShelEvent后,ShellEvent类中captureChanged的{​​{1}}的{​​{1}}对象图中唯一具有不同值的变量,其范围为{ {1}}

以下代码可帮助您找到Display

的来源
default