Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 捕获ViewPart关闭事件?_Java_Eclipse Plugin_Swt - Fatal编程技术网

Java 捕获ViewPart关闭事件?

Java 捕获ViewPart关闭事件?,java,eclipse-plugin,swt,Java,Eclipse Plugin,Swt,我想在Eclipse插件中关闭视图之前显示一条消息。 如何赶上闭幕式? 是否使用了addListenerObject(对象侦听器)方法 @Override public void createPartControl(Composite parent) { //Catch view closing event this.addListenerObject(new //??? }); } addListenerObject与此无关 您可以覆盖视图的dis

我想在Eclipse插件中关闭视图之前显示一条消息。 如何赶上闭幕式? 是否使用了
addListenerObject(对象侦听器)
方法

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

可能是@RanadipDutta的重复链接,该链接用于Swing,这是完全不同的Eclipse插件/SWT。这只是一条您想要显示的消息,还是您正在尝试停止视图关闭?除了jframe和Swing,我不知道还有其他链接。我不想停止视图关闭。在关闭之前,它会执行一些操作,例如显示消息,然后关闭。