WEB开发网
开发学院软件开发Java 基于 JFace Text Framework 构建全功能代码编辑器... 阅读

基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Hover 和 Annotation Hover

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: 主要的工作在 getHoverInfo 这个方法里面,我先调用了父类的 getHoverInfo,基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Hover 和 Annotation Hover(3),这一般来说是推荐的,因为父类的 getHove

主要的工作在 getHoverInfo 这个方法里面,我先调用了父类的 getHoverInfo,这一般来说是推荐的,因为父类的 getHoverInfo 会去首先查询相应位置处有没有一个标注,如果有,它会返回标注的信息。所以我在后面检查了父类的返回值,如果不是 null 且鼠标下面是一个变量名的话,就从解析器得到变量的值。

配置

最后一步是修改 ExprConfiguration,覆盖 getTextHover 方法, 只是简单的返回我定义的 ExprTextHover 即可。

清单3. 让 JTF 知道我们的 Text Hover 实现

public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) { 
 return new ExprTextHover(sourceViewer); 
} 

效果

运行后,看看是不是得到了我想要的效果:

图1. 文本悬浮效果图
基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Hover 和 Annotation Hover

如我希望的那样,鼠标移动到 a 上面时,显示出了“8”。如果源代码中有错误,那么效果如下所示:

图2. 当源代码有错误时
基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Hover 和 Annotation Hover

这正是由于我首先调用了父类的 getHoverInfo 的效果,父类为我们取出了标注信息。

上一页  1 2 3 4 5  下一页

Tags:基于 JFace Text

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接