5

我正在使用带有视图的 Eclipse RCP,并且我想在应用程序关闭时在控制台上打印一些东西。

这就是我所做的,但它不起作用;

public void createPartControl(final Composite parent){
   parent.getShell().addListener(SWT.CLOSE, new Listener() {

      @Override
      public void handleEvent(Event event) {
         System.out.println("NOW !");
      }
   });
}

编辑: 我找到了一个解决方案,我需要添加一个 DisposeListener:

parent.addDisposeListener(new DisposeListener() {

            @Override
            public void widgetDisposed(DisposeEvent e) {
                // TODO Auto-generated method stub

            }
        });
4

1 回答 1

3

您想使用SWT.Close事件而不是SWT.CLOSE. 来自SWT Javadoc

SWT.Close - 关闭事件类型(值为 21)。

SWT.CLOSE - 关闭框修剪的样式常量(值是 1<<6,因为我们不区分 CLOSE 样式和 MENU 样式)。

于 2013-01-21T17:12:09.890 回答