捕获 ViewPart 关闭事件?

Catch ViewPart closing event?

我想在 Eclipse 插件中关闭视图之前显示一条消息。 如何捕捉关闭事件? 是使用addListenerObject(Object listener)方法吗?

  @Override
  public void createPartControl(Composite parent) { 

    //Catch view closing event
    this.addListenerObject(new //???

    });

  }

addListenerObject 与此处无关。

您可以覆盖视图的 dispose 方法:

@Override
public void dispose()
{
  // TODO your code
  super.dispose();
}

您还可以使用一个IPartListener来了解所有部分的状态变化:

getSite().getPage().addPartListener(new IPartListener()
  {
    @Override
    public void partOpened(final IWorkbenchPart part)
    {
    }


    @Override
    public void partDeactivated(final IWorkbenchPart part)
    {
    }


    @Override
    public void partClosed(final IWorkbenchPart part)
    {
      if (part == MyView.this) {
         // TODO Your code
      }
    }


    @Override
    public void partBroughtToTop(final IWorkbenchPart part)
    {
    }


    @Override
    public void partActivated(final IWorkbenchPart part)
    {
    }
  });