我有一个扩展AbstractDecoratedTextEditor
的编辑器MyEditor
。在eclipse中,我可以打开很多MyEditor
的文件。每个文件都是MyEditor
的一个实例。当我单击选项卡更改文件时,我需要执行将打开的实例(文件)的相同操作。也就是说,我需要在MyEditor
中添加一个侦听器,以了解实例(文件)何时变为活动状态。
您可以使用org.eclipse.ui.IPartListener
来侦听对零件的更改。
IPartService partService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
partService.addPartListener(listener);
public void partActivated(IWorkbenchPart part)
当一个部分被激活时,监听器的方法将被调用,所以您可以在这里查看编辑器。
您的编辑器是IWorkbenchPart
的一个实例,因此您在`partActivated中可以只使用
if (part instanceof MyEditor)
{
MyEditor editor = (MyEditor)part;
... check which file this editor is editing
... and do action if it is the required file
}