GEF理解系列教程:新建连接模型

2星 需积分: 9 8 下载量 135 浏览量 更新于2024-09-13 收藏 29KB DOCX 举报
"GEF理解系列1" 这篇文章主要讲解了GEF(Graphical Editing Framework)的理解,特别是关于新建连接模型的实现。GEF是Eclipse框架中的一个组件,用于构建图形化编辑器,它提供了创建和操作图形节点及连接线的基础架构。 在GEF中,新建连接模型涉及到安装Policy,Policy在这里起到了控制图形元素行为的作用。例如,在`HelloWorldEditPart`类的`createEditPolicies()`方法中,我们通过`installEditPolicy()`方法安装了一个特定类型的Policy,即`GraphicalNodeEditPolicy`。这一步是为了定义节点的编辑行为,`HelloWorldGraphicalNodeEditPolicy`是我们自定义的Policy实现类。 创建连接时,我们需要三个关键对象:连接线(Connection)、源节点(Source Node)和目标节点(Target Node)。因此,我们的命令(Command)实现需要包含这些对象。`AddConnectionCommand`类被用来创建新的连接,它包含了对源和目标节点的设置方法以及连接本身。 在Command的执行过程中,连接线会附着到源节点和目标节点上,即调用`connection.attachSource()`和`connection.attachTarget()`方法。然而,单纯执行命令后,新创建的连接可能并不会立即显示,这是由于图形界面没有进行刷新。为了解决这个问题,我们需要添加一个监听器来触发刷新,确保新连接能在界面上正确显示。 不过,提供的代码片段中有一个不相关的内容插入,即“2013网赚方法大总结和有信誉网站收集”的链接,这部分显然与GEF的学习无关,可能是文档制作时的错误。 理解GEF的关键在于掌握如何使用Policy来定义图形元素的行为,以及如何通过Command模式来处理图形操作,如创建连接。同时,需要注意图形界面的刷新机制,以确保用户交互的实时性。在实践中,通常需要根据具体需求定制Policy和Command,以实现复杂的图形编辑功能。