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

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