`

gef中连接线设置抗锯齿

    博客分类:
  • GEF
阅读更多
方法:更改策略
绘制完成线后,在其所在editpart中的refreshVisuals()中获取连接线线层后,设置setAntialias(SWT.ON)即可
今天有人问我该加在哪,我也不拐弯抹角了,
在最底层画布的model上对应的part复写refreshVisuals(),在里面编写Animation.markBegin();
ConnectionLayer connectionLayer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);
connectionLayer.setConnectionRouter(new ManhattanConnectionRouter());
    if ((getViewer().getControl().getStyle() & SWT.MIRRORED ) == 0)
        connectionLayer.setAntialias(SWT.ON);
    Animation.run(400);


这样就可以了,但是这样就不能划斜线了,那么如何更改呢?改换策略
  ConnectionLayer connectionLayer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER); 
  connectionLayer.setConnectionRouter(new ShortestPathConnectionRouter(figure)); 
  connectionLayer.setAntialias(SWT.ON);  

或者
ConnectionLayer connectionLayer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);connectionLayer.setConnectionRouter(null);connectionLayer.setAntialias(SWT.ON);
也能搞定
分享到:
评论
2 楼 zhongkem 2009-07-12  
自己解答下吧。。
其实很简单,开始没仔细看代码才有上面的提问:
只要把
connectionLayer.setConnectionRouter(new ManhattanConnectionRouter()); 设置的Router改成null即可
也就是变成connectionLayer.setConnectionRouter(null);
这样的话画出来的线的效果确实好点了。大家可以试试。
再次感谢楼主的无私奉献。
1 楼 zhongkem 2009-07-12  
谢谢楼主的解答!
首先肯定一下,通过这样的设置,画出的线条效果确实可以,但在我的程序里只能画出水平线和垂直线,也就是说不能画出斜线来。。。
不知道有没有办法,既能画出斜线又能抗锯齿?
期待大家的回答~~

相关推荐

    GEF连接线Node之间连接

    同时,还可以为节点和连接线设置约束条件,限制它们的移动范围和方向。 7. **FecatGEF10**:这个文件名可能是某个示例项目的名称,它可能包含了一个使用`GEF`实现的,允许用户在节点之间创建连接的图形编辑器。通过...

    GEF的连接线的样式算法

    本文将深入探讨GEF中的连接线样式算法,以及如何通过源码理解和定制这些样式,以满足特定的图形编辑需求。 连接线,或称连线,是图形编辑界面中连接不同节点的关键元素,用于表达对象之间的关系。在GEF中,连接线的...

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

    在gef中,转折线的实现涉及到PathFigure和Segment类的使用。PathFigure用于定义一个图形的轮廓,而Segment则代表了轮廓中的一段线段。通过添加和调整Segment实例,我们可以构建出具有转折点的线条。 实现gef转折线...

    GEF中文教程+代码

    - **Step 4-5**:深入探讨模型-视图映射,包括图形元素的布局和连接线的绘制。 - **Step 6-7**:介绍交互功能,如选择、拖动和约束处理,以及事件处理机制。 - **Step 8-9**:讲解命令模式的应用,实现可撤销/重做...

    GEF锚点鼠标定位

    在GEF中,锚点的定位直接影响到连接线的形状和行为,特别是当用户通过鼠标进行交互时。"GEF锚点鼠标定位"这个主题主要探讨的是如何使锚点跟随鼠标移动,从而提供更加灵活和直观的用户操作体验。 1. **GEF框架基础**...

    GEF 入门版中文教程 源码

    在GEF中,模型通常由EMF(Eclipse Modeling Framework)来定义和管理,可以将业务逻辑和视图分离。 2. **视图(View)**:视图是模型的可视化表示,它将模型数据呈现为用户界面。GEF提供了基础框架来实现这一转换,...

    GEF_Tutorial.rar(GEF开发指南)

    在GEF中,你需要首先定义你的数据模型,这可能涉及使用EMF(Eclipse Modeling Framework)来创建Ecore模型。Ecore模型是元模型的一种表示,可以用于生成Java类,这些类将成为你的数据模型的基础。 **4. 实现图元和...

    自己下的GEF资源打包

    "GEF_Tutorial.pdf"很可能是GEF的基础教程,涵盖了GEF的基本概念、架构和使用方法,包括图元的创建、连接线的绘制、交互操作的实现等。用户可以通过阅读这个教程来了解如何在Eclipse环境中搭建GEF项目,并进行基本的...

    GEF Example Source Code

    标签"GEF Example"进一步确认了这个压缩包的内容是与GEF相关的示例,这通常包括不同类型的图形编辑示例,例如基本的绘图操作、图元管理、连接线处理、缩放和旋转等。 在压缩包子文件的文件名称列表中,我们看到两个...

    GEF入门学习例子

    在GEF中,`ConnectionEditPart`负责绘制和编辑连接线。 6. **适配器(Adapter)**: 适配器机制使得不同组件之间能够互相通信,即使它们的接口不兼容。在GEF中,适配器通常用于将模型对象转换为视图对象。 7. **手势...

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

    此外,理解MVC(模型-视图-控制器)模式和MVC在GEF中的应用对于提升开发效率至关重要。 总之,通过这个"GEF入门实例代码2",开发者可以了解到如何在Eclipse中构建一个基于GEF的图形编辑器,这不仅涉及数据模型的...

    GEF入门必读 GEF入门系列 GEF-whole-upload

    通过使用GEF,开发者可以轻松地创建出具有拖放、连接线、节点和图形编辑功能的应用。在Java编程中,GEF是一个非常有价值的工具,因为它简化了图形界面的开发过程,使开发者可以专注于业务逻辑而不是底层的图形绘制。...

    GEF 可用的6个demo

    通过DEMO,你可以了解适配器如何在GEF中工作,以及如何使用它们来增强功能。 12. **可扩展性与插件系统**:作为Eclipse的一部分,GEF支持插件扩展。DEMO可能展示如何创建和使用插件来扩展图形编辑器的功能。 通过...

    GEF教程和demo源码

    5. **连接线编辑**:GEF支持创建和编辑连接线,允许对象之间建立关联。 接下来,我们转向"test.gef.hello"源码,这是一个基础的Hello World示例,涵盖了以下核心概念: 1. **初始化编辑器**:源码会展示如何创建一...

    Eclipse开发使用GEF和EMF(IBM 红皮书)中英文对照版

    GEF提供了丰富的图形操作和交互机制,包括拖放、选择、连接线绘制等,极大地简化了图形界面的开发过程。 EMF(Eclipse模型框架)则是基于MDE(模型驱动工程)理念的框架,它为构建元数据模型提供了一种强大的工具。...

    GEF入门教程 八进制版本的源代码

    4. **连接线**:在GEF中,连接线是通过`ConnectionEditPart`实现的。它们有自己的模型类,通常继承自`Connection`,并用`Router`来决定连接线的路径。`DirectEditPolicy`也可以应用于连接线,允许用户编辑连接线的...

    GEF快速入门教程和EMF教程

    - **Draw2D**: 版本3.1.0或以上,通常包含在GEF中 - **EMF**: 版本2.1.0或以上 ### 创建RCP项目 1. **初始化项目**: - 打开Eclipse并选择“File” > “New” > “Other” > “Plug-in Project”。 - 为项目命名`...

    GEF-ALL-3.7+GEF-ALL-3.8+GEF_Draw2d学习资料

    它的核心功能包括图形对象的创建、拖放操作、连接线的管理、以及各种图形编辑行为的实现。GEF-3.7和GEF-3.8是其不同版本,可能包含不同的特性和改进,例如性能优化、API调整或新功能的添加。 Draw2D则是一个底层的...

Global site tag (gtag.js) - Google Analytics