抓住ViewPart结束活动?

时间:2017-07-19 08:20:01

标签: java eclipse-plugin swt

我想在关闭Eclipse插件中的视图之前显示一条消息。 如何赶上闭幕活动? 是使用addListenerObject(Object listener)方法吗?

  @Override
  public void createPartControl(Composite parent) { 

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

    });

  }

1 个答案:

答案 0 :(得分:1)

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)
    {
    }
  });