`
longgangbai
  • 浏览: 7331275 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

gef中拖动拽动原理以及实现(二)

阅读更多

   最近学习gef源代码AbstractEditPartViewer发现其实拖拽功能可以不用自己实现的。

 

 

 

gef中源代码AbstractEditPartViewer可知:

针对拖动目标和拖动源可以分别采用如下代理:

public class DelegatingDragAdapter

    extends org.eclipse.jface.util.DelegatingDragAdapter

 

public class DelegatingDropAdapter

    extends org.eclipse.jface.util.DelegatingDropAdapter

 

使用如下:

声明:

private DragSource dragSource;

private org.eclipse.gef.dnd.DelegatingDragAdapter dragAdapter = new org.eclipse.gef.dnd.DelegatingDragAdapter();

 

private DropTarget dropTarget;

private org.eclipse.gef.dnd.DelegatingDropAdapter dropAdapter = new org.eclipse.gef.dnd.DelegatingDropAdapter();

使用如下:

/**

 * Called whenever the {@link #getDragSource() drag source} is automatically created.

 */

protected void hookDragSource() {

    dragSource.addDragListener(getDelegatingDragAdapter());

}

/**

 * Called whenever the {@link #getDropTarget() drop target} is automatically created.

 */

protected void hookDropTarget() {

    getDropTarget().addDropListener(getDelegatingDropAdapter());

}

 

分享到:
评论
2 楼 longgangbai 2011-08-17  
guhanjie 写道
你的这段代码发在何处啊?


你说的什么,不明白?什么叫这段代码发在何处?
1 楼 guhanjie 2011-08-16  
你的这段代码发在何处啊?

相关推荐

    GEF的动态变化二

    标题“GEF的动态变化二”暗示我们正在讨论的是Graph Editor Framework (GEF) 的一个特定方面,特别是关于它的动态性或变化。GEF是一个用于构建图形编辑器的开源Java框架,广泛应用于创建可视化的软件设计工具。在这...

    GEF中属性页面的实现

    在GEF(Graphical Editing Framework)中,属性视图(Property View)的实现是一个关键功能,它允许用户查看和编辑图形模型的属性。属性视图是数据源与用户界面之间的桥梁,确保图形模型和属性视图之间保持同步更新...

    gef 转折线的相关方法实现和 GEF的API chm 格式

    在本篇文章中,我们将深入探讨gef转折线的相关方法实现以及GEF的API。 首先,让我们理解一下什么是转折线。在图形编辑中,转折线通常指的是具有多个折点的线条,这些折点可以由用户交互式地调整,以改变线条的形状...

    GEF典型实现例子

    源码标签表明内容可能包含了实际的代码示例,这对于学习和理解GEF的工作原理和如何在实际项目中应用非常有帮助。工具标签则暗示了这个例子可能涉及到了使用GEF作为开发工具或者集成到其他工具链中的情况。 文件名...

    自己下的GEF资源打包

    描述进一步说明了这个包中包含的具体内容,如“GEF_Tutorial”、“GEF实例”、“入门教程”以及“GEF-whole-upload”,这些都暗示了这是一个全面的学习资源,旨在帮助用户从基础到实践全方位掌握GEF。 GEF,全称为...

    GEF中文教程+代码

    在本教程中,我们将深入探讨GEF的基本概念、设计原则以及如何使用它来开发自己的图形编辑器。 **1. GEF简介** GEF的设计目标是将图形编辑器的实现细节抽象化,让开发者能够专注于业务逻辑和模型设计,而不是底层的...

    GEF实现拷贝粘贴

    标题“GEF实现拷贝粘贴”涉及到的是在软件开发中使用Graphical Editing Framework(GEF)进行图形界面编辑时,如何实现复制和粘贴功能的技术。GEF是Eclipse平台下用于构建图形化编辑器的框架,它提供了一套完整的...

    GEF 入门版中文教程 源码

    4. **命令(Command)**:GEF中的命令模式用于封装对模型的修改操作,使得撤销/重做功能得以实现。命令对象记录了更改前后的状态,便于执行回滚或重复操作。 5. **图元(Figure)**和**绘图(Drawing)**:GEF通过SWT...

    GEF原理的详细介绍+程序实例和程序源码

    **GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的开源框架,它在Eclipse平台中被广泛使用。GEF提供了一套全面的API和模型,帮助开发者快速构建可定制的、交互式的图形用户界面。该框架的核心...

    gef all 3.5.2 源码

    学习和分析Gef All 3.5.2 的源码不仅可以提高你的调试技巧,还能让你深入了解调试器的内部工作原理,以及如何通过Python扩展GDB的能力。这是一项有益于任何软件开发者的技术,尤其是那些专注于系统级编程、逆向工程...

    RCP与GEF课件,介绍RCP和GEF各组成部分和工作原理

    **GEF(Graphical Editing Framework)** 是Eclipse中的一个图形编辑框架,它为开发图形化编辑器提供了基础。GEF支持创建各种图形用户界面,包括绘图工具、流程图和模型编辑器。 GEF的主要组件包括: 1. **Model**...

    GEF入门学习例子

    这个入门学习例子旨在帮助初学者理解GEF的基本用法和核心概念,通过实例展示如何利用GEF实现工具栏、菜单栏、属性栏以及图形的交互功能,如移动、删除、撤销、连线等,并涵盖了大纲视图和鹰眼功能的实现。...

    GEF_Demo_Code20170307

    这个项目旨在演示如何利用GEF进行图形界面开发,并且特别关注了通过适配器(Adapter)扩展点来实现属性页配置以及在非Editor的ViewPart中使用GEF。 GEF是Eclipse平台下的一个开源库,专门用于构建可自定义的、图形...

    eclipse gef原理的详细介绍PPT,很有参考价值

    **GEF(Graphical Editing Framework)深度解析** GEF,全称为Graphical Editing Framework,是Eclipse平台下用于构建图形编辑器的...通过深入理解GEF的原理和实践,开发者可以更高效地构建出功能丰富的图形编辑应用。

    GEF 入门教程 中文版

    在互联网上以及相关书籍(如IBM Redbook)中找到的主要文档更多地集中在GEF的理论概念上,而非具体如何使用GEF类的实际应用案例。因此,本教程旨在通过实际操作指导读者逐步掌握GEF的核心技术和实践技巧。 #### 二...

    GEF入门实例代码2《Eclipse插件开发》中实例

    总之,通过这个"GEF入门实例代码2",开发者可以了解到如何在Eclipse中构建一个基于GEF的图形编辑器,这不仅涉及数据模型的设计,还包括视图的绘制、用户交互的处理以及可撤销/重做机制的实现。通过实践,开发者可以...

    GEF 入门教程

    4. **实现Viewer**: Viewer是GEF中的核心组件,它负责管理和协调EditParts,以及与用户交互。 5. **命令与手势**: 定义并实现Command,将用户在视图上的操作转化为可管理的命令,同时设置手势监听器以识别用户的...

    GEF 进阶+源码.rar

    10. **样例代码(Sample Code)**:`samplecode.rar`很可能包含了实际的编程示例,这些示例可以帮助开发者理解如何在实践中应用GEF和DRAW2D,例如创建自定义图形元素、实现特定的编辑操作等。 通过深入学习和实践...

    GEF快速入门教程和EMF教程

    通过本教程,您应该能够理解GEF的基本结构和工作原理,以及如何在Eclipse RCP应用中集成GEF。此外,还介绍了如何设置项目依赖、创建编辑器以及实现GEF的基本组件。这些步骤不仅适用于本教程的示例,也是构建更复杂...

Global site tag (gtag.js) - Google Analytics