eclipsegef:[Eclipse]GEF入门系列( 4、其他功能)来源: 发布时间:星期四, 2009年1月8日 浏览:68次 评论:0
最近由于实验室任务繁重直没有继续研究GEF本来已经掌握些东西好象又丢掉了不少真是无奈啊看来还是要经常碰碰刚刚接触GEF朋友大都会有这样印象:GEF里概念太多比较绕些能直接实现功能非要拐几个弯到另个类里做而且很多类名字十分相似加上不知道他们作用感觉就好象团乱麻我觉得这种情况是由图形用户界面(GUI)复杂性所决定GUI看似简单实际上包含了相当多逻辑特别是GEF处理这种图形编辑方式可以说是最复杂种GEF里每个类应该说都有它存在理由我们要尽可能了解作者意图这就需要多看文档和好例子
在Eclipse里查看文档和代码相当便利比如我们对某个类使用方法不清楚般首先找它注释(选中类或思路方法按F2)其次可以查看它在其他地方使用方法(选中类或思路方法按Ctrl+Sht+G)还可以找它源代码(Ctrl+鼠标左键或F3)来看另外Ctrl+Sht+T可以按名称查找个类等等学GEF是少不了看代码当然还需要时间和耐心 好闲话少说下面进入正题这篇帖子将继续上篇内容主要讨论如何实现DirectEdit、属性页和大纲视图这些都是个完整GEF应用需要提供基本功能 实现DirectEdit 所谓DirectEdit(也称In-Place-Edit)就是允许用户在原本显示内容地方直接对内容进行修改例如在Windows资源管理器里选中个文件然后按F2键就可以开始修改文件名实现DirectEdit原理很直接:当用户发出修改请求(REQ_DIRECT_EDIT)时就在文字内容所在位置覆盖个文本框(也可以是下拉框这里我们只讨论文本情况)作为编辑器编辑结束后再将编辑器中内容应用到模型里即可(作为类似功能请参考:给表格单元格增加编辑功能) 图3 大纲视图 P.S.写这篇帖子时候我对例子又做了些修改都是和这篇帖子所说内容相关所以如果你以前下载过会发现那时代码和现在稍有区别(功能还是完全样下载)另外要说下这个例子并不完善比如删除个节点时候它连接就没同时删除些键盘快捷键不起作用还存在很多被注释掉代码等等如果有兴趣你可以来修改它们也是不错学习途径 0
相关文章
读者评论发表评论 |