如何在第一次执行视图时设置活动页面?

时间:2014-12-02 16:45:23

标签: java eclipse eclipse-plugin

我在我的插件项目(一个包含视图的插件)中创建了一个函数,它为活动页面创建选择侦听器(例如:package explorer,resource navigator)。

在第一次执行Eclipse实例时,有时我没有活动页面,以下是null:

ISelectionService selectionService=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

因此无法为另一个视图设置选择侦听器:

selectionService.addSelectionListener(partID,listener);

我的问题实际上是函数不执行上面的行,因为selectionService为null。

为了避免这种情况,我该怎么做?

1 个答案:

答案 0 :(得分:1)

一种方法是向IWindowListener添加IWorkbench,然后在windowOpened事件中添加选择侦听器:

IWorkbench workbench = PlatformUI.getWorkbench(); 

workbench.addWindowListener(window listener);

...

@Override
public void windowOpened(IWorkbenchWindow window)
{
  window.getSelectionService().addSelectionListener(selection listener);
}