GEF:使用Draw2D画流程图-(下)

简介:

连接点PathFigure

连接点从PolylineConnection继承下来,在构造函数中设置目标对象连接点的装饰类,也就是示例中的三角形(PolylineDecoration),以及设定连接线路由样式,这里设置为ManhattanConnectionRouter

 

1 public class PathFigure extends PolylineConnection {
2     public PathFigure() {
3         //setSourceDecoration(new PolygonDecoration());
4         setTargetDecoration(new PolylineDecoration());
5         //setConnectionRouter(new BendpointConnectionRouter());
6         setConnectionRouter(new ManhattanConnectionRouter());
7                   
8     }
9 }

监听移动事件

 

01 public class Dnd extends MouseMotionListener.Stub implements MouseListener {
02     public Dnd(IFigure figure) {
03         figure.addMouseMotionListener(this);
04         figure.addMouseListener(this);
05     }
06   
07     Point start;
08   
09     public void mouseReleased(MouseEvent e) {
10     }
11   
12     public void mouseClicked(MouseEvent e) {
13     }
14   
15     public void mouseDoubleClicked(MouseEvent e) {
16     }
17   
18     public void mousePressed(MouseEvent e) {
19         start = e.getLocation();
20     }
21   
22     public void mouseDragged(MouseEvent e) {
23         Point p = e.getLocation();
24         Dimension d = p.getDifference(start);
25         start = p;
26         Figure f = ((Figure) e.getSource());
27         f.setBounds(f.getBounds().getTranslated(d.width, d.height));
28     }
29 }

 

Flowchart

Flowchart是主程序代码,生成最上图所示的所有图例、连接,并把连接于连接点关联起来,并加入监听移动事件对象

 

 

参考:Draw2D教程

 

 
















 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/516882,如需转载请自行联系原作者

相关文章
|
C++
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
120 0
《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)
《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)
284 0
《QT从基础到进阶·十五》用鼠标绘制矩形(QGraphicsView、QPainter、QGraphicsRectItem)
《QT从基础到进阶·十五》用鼠标绘制矩形(QGraphicsView、QPainter、QGraphicsRectItem)
760 0
《QT从基础到进阶·十七》QCursor鼠标的不同位置坐标获取
《QT从基础到进阶·十七》QCursor鼠标的不同位置坐标获取
260 0
|
前端开发 Android开发
图+源码,读懂View的Draw方法(一)
本文将继续讲述 View 绘制三大方法的最后一个方法——Draw 方法。该方法不会很复杂,相信大家很快可以弄懂。
图+源码,读懂View的Draw方法(一)
图+源码,读懂View的Draw方法(二)
本文将继续讲述 View 绘制三大方法的最后一个方法——Draw 方法。该方法不会很复杂,相信大家很快可以弄懂。
图+源码,读懂View的Draw方法(二)
|
程序员 C语言
Qt编写自定义控件58-直方对称图
一、前言 本控件也非原创控件,是参考网上的代码而来的,对称顾名思义就是将画布平均成上下两部分,将设置的值自动按照画布高度的一半作为参照高度进行绘制,然后增加动态过渡效果,有点类似于声音播放时候的频谱效果,一般都会用多个直方对称图组合成一个控件来实现多个效果,看起来会更美观,背景颜色可以设置成渐变的,柱状条的颜色也可以自行设置。
977 0