【问题标题】:Catch ViewPart closing event?捕捉 ViewPart 关闭事件?
【发布时间】:2017-07-19 17:02:03
【问题描述】:

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

  @Override
  public void createPartControl(Composite parent) { 

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

    });

  }

【问题讨论】:

  • THIS 的可能重复项
  • @RanadipDutta 该链接用于 Swing,这是完全不同的 Eclipse 插件/SWT。
  • 您只是想显示一条消息,还是您也想阻止视图关闭?
  • 我不知道除了jframe和swing之外的任何其他东西。
  • 我不想停止关闭视图。就在它关闭之前,它会执行一些操作,例如显示一条消息,然后关闭。

标签: java eclipse-plugin swt


【解决方案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)
    {
    }
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-07
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多