正在向AbstractDecoratedTextEditor添加活动侦听器



我有一个扩展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
 }

最新更新