Eclipse:从未调用垂直标尺侦听器

Eclipse:从未调用垂直标尺侦听器,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我试图在eclipse中实现一个垂直标尺侦听器。我实现了IPartListener2接口,当java编辑器打开时,我注册了监听器。问题是,当单击垂直标尺时,侦听器从未被调用。如果调用CompositeRuler.fireAnnotationSelected(),则会按预期调用侦听器 我认为这可能是一个bug,但我想在bugzilla中填充bug之前确定一下。有人能指出我做错了什么吗 以下是IPartListener2类: 公共类EditorListener实现IPartListener2{ @凌

我试图在eclipse中实现一个垂直标尺侦听器。我实现了
IPartListener2
接口,当java编辑器打开时,我注册了监听器。问题是,当单击垂直标尺时,侦听器从未被调用。如果调用CompositeRuler.fireAnnotationSelected(),则会按预期调用侦听器

我认为这可能是一个bug,但我想在bugzilla中填充bug之前确定一下。有人能指出我做错了什么吗

以下是IPartListener2类:

公共类EditorListener实现IPartListener2{
@凌驾
打开的公共无效零件(IWorkbenchPartReference零件参考){
IWorkbenchPart part=partRef.getPart(真);
if(part!=null&IEditorPart的part instanceof)
配置JavaEditor((IEditorPart)部分);
}
//其他IPartListener2方法。。。
私有void配置JavaEditor(IEditorPart editorPart){
对象obj=((JavaEditor)editorPart.getAdapter(IVerticalRulerInfo.class);
if(obj!=null&&obj-instanceof-IVerticalRulerInfoExtension){
((IVerticalRulerInfoExtension)obj.addVerticalRulerListener(新的VerticalRulerListener());
if(合成器的obj实例)
((CompositeRuler)obj).fireAnnotationSelected(null);//->调用了侦听器
}
}
}
垂直标尺侦听器只打印正在调用的方法


起初我认为这可能发生,因为我使用JavaEditor访问垂直标尺(不鼓励使用JavaEditor访问),所以我从JavaEditor更改为AbstractDecoratedTextEditor,这是编辑器类层次结构中的下一个类,但问题仍然是一样的。我没有主意了。有什么问题吗?

我解决了直接实现
MouseListener
接口的问题,使用
IVerticalRulerInfo.toDocumentLineNumber()
MouseeEvent
到达时将y坐标转换为行号,但是我仍然想知道为什么垂直标尺侦听器不能工作……但是我想你的帖子已经准备好了:我试过了,垂直标尺侦听器除了构造函数之外什么都不做