我有一个扩展MyEditor
的编辑器AbstractDecoratedTextEditor
。
在eclipse中,我可以打开很多MyEditor
个文件。每个文件都是MyEditor
的实例。
当我在选项卡中单击以更改文件时,我需要执行将打开的实例(文件)的相同操作。
也就是说,我需要在MyEditor
中添加一个监听器,以了解实例(文件)何时变为活动状态。
答案 0 :(得分:1)
您可以使用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
}