- 浏览: 551997 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (344)
- ··············未分类············· (33)
- Eclipse 插件 (15)
- EDA 工具 (1)
- Linux/Unix (3)
- Java (43)
- Java Applet (1)
- Java Draw2d (22)
- Java Draw2d version2 (6)
- Java GEF (2)
- Java SWT (21)
- Java SWT Image 图像 (21)
- Java SWT Tree (16)
- Java SWT Table (4)
- Java SWT TableViewer (11)
- Java SWTbot (4)
- Java Test (2)
- Java Thread 多线程 (22)
- Java Zest (5)
- RC2_3S400学习笔记 (16)
- tcl 脚本 (10)
- Verilog (7)
- XML (6)
- 国家 (5)
- 感叹 (4)
- 面试题 (9)
- 生活 (36)
- 足球 世界杯 (8)
- 老公看你的 (3)
- web开发 (1)
- 数据结构——图 (7)
- c language (1)
最新评论
-
zxjlwt:
路过素人派http://surenpi.com
SWT 树的事件 SWT.Selection SWT.CHECK SWT.DefaultSelection -
hj01kkk:
1楼用法正解
JDK 7 中的 Fork/Join 模式 -
fish_no7:
使用 new SortTask().fork()
JDK 7 中的 Fork/Join 模式 -
wpf523:
mark
Java 多线程例子6 线程安全 线程同步 同步代码块 同步函数 -
uniquejava:
以前碰到过,估计是在icu包中实现了双击自动选中一段文本的功能 ...
java.lang.NoClassDefFoundError: com/ibm/icu/text/BreakIterator
关键字:Draw2d、锚点、TriangleAnchor
连线的时候能不能连接到画的图中去,在连线二中已经提到了,简单的跟图形连在一起,但是对于特殊的图是有不同的需求的。
如三角形,怎样连接端点。
public class TriangleAnchor extends ChopboxAnchor { public TriangleAnchor(Triangle triangle) { super(triangle); } public Point getLocation(Point reference) { Rectangle r = Rectangle.SINGLETON; r.setBounds(getBox()); r.resize(-1, -1); int size; size = Math.min(r.height, r.width / 2); r.y += (r.height - size) / 2; size = Math.max(size, 1); //Size cannot be negative Point head, p2, p3; int d1,d2,d3; head = new Point(r.x + r.width / 2, r.y); p2 = new Point (head.x - size, head.y + size); p3 = new Point (head.x + size, head.y + size); Point p; if(Math.abs(reference.x-p2.x)+Math.abs(reference.y-p2.y) > Math.abs(reference.x-p3.x)+Math.abs(reference.y-p3.y)) { p = p3; } else { p = p2; } d1 = distance(reference,head); d2 = distance(reference,p2); d3 = distance(reference,p3); p = head; if(d1<d2 && d1<d3) { p = head; } if(d2<d1 && d2<d3) { p = p2; } if(d3<d1 && d3<d2) { p = p3; } return p; } private int distance(Point p1, Point p2) { return Math.abs(p1.x-p2.x)+Math.abs(p1.y-p2.y); } }
public class HelloWorld2 { public static void main(String args[]) { Shell shell = new Shell(); shell.setText("Draw2d Hello World"); shell.setSize(400, 400); shell.open(); // create content 4 shell. createContent4Shell(shell); while (!shell.isDisposed ()) { if (!Display.getDefault().readAndDispatch ()) Display.getDefault().sleep (); } } private static void createContent4Shell(Shell shell) { Panel rootFigure = new Panel(); rootFigure.setLayoutManager(new XYLayout()); IFigure figure1 = new Ellipse(); // Label figure2 = new Label("ddddddddddddddddd"); Triangle figure2 = new Triangle(); // -------------------------------------------------------- // add connection PolylineConnection connection = new PolylineConnection(); connection.setSourceAnchor(new ChopboxAnchor(figure1)); connection.setTargetAnchor(new TriangleAnchor(figure2)); // add connection // -------------------------------------------------------- rootFigure.add(figure1,new Rectangle(10,10,60,30)); rootFigure.add(figure2,new Rectangle(80,90,90,190)); rootFigure.add(connection); LightweightSystem lws = new LightweightSystem(shell); lws.setContents(rootFigure); } }
这个端点的求法,没有考虑三角形的方向,计算方法参考:
package org.eclipse.draw2d; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.PointList; import org.eclipse.draw2d.geometry.Rectangle; /** * A triangular graphical figure. */ public final class Triangle extends Shape implements Orientable
发表评论
-
ShortestPathConnectionRouter使用的例子
2013-05-16 15:29 940public class Connection { ... -
Java Draw2d 目录
2013-04-23 15:02 1063Java Draw2d 目录1,helloworld (h ... -
Draw2D Flowchart的教程
2010-11-22 13:00 1364关键字:Draw2D Flowchart 原文链接:htt ... -
Draw2D UML Diagram
2010-11-22 11:06 2101/** * A test class to displa ... -
Draw2d 边界 边框 border
2010-11-20 09:55 1912关键字:Draw2d 边界 边框 border 在Dr ... -
Draw2d 拖拽 Drag and Drop
2010-11-19 21:10 1842关键字:Draw2d 拖拽 Drag and Drop ... -
Draw2d 连线六 路由 Router
2010-11-19 19:42 1616关键字:Draw2d 连线 路由 Router Manhatt ... -
Draw2d 连线五 Locator 标示
2010-11-19 19:26 1054关键字:Draw2d 连线 Locator Connecti ... -
Draw2d 连线四 箭头 Decoration
2010-11-19 19:07 1562关键字:Draw2d 、Decoratio ... -
Draw2d 连线二 ChopboxAnchor EllipseAnchor
2010-11-19 16:35 1538关键字:Draw2d,连线,ChopboxAnchor El ... -
Draw2d 连线一
2010-11-19 16:15 1151关键字:Draw2d 连线 PolylineConnectio ... -
Draw2d 学习笔记八 GridLayout ToolbarLayout布局管理器
2010-11-19 14:36 2673原文:http://www.cnblogs.com/bjzha ... -
Draw2d 学习笔记六 布局管理器 约束(Constraint)
2010-11-19 12:17 1285关键字:Draw2d、布局管理器、约束(Constraint) ... -
Draw2d 学习笔记七 GridLayout布局管理器
2010-11-18 18:22 1251关键字:Draw2d GridLayout 布局管理器Grid ... -
Draw2d 学习笔记五 布局管理器 ScrollPaneLayout ScrollPane
2010-11-18 16:03 2252关键字:Draw2d ScrollPaneLayout Sc ... -
Draw2d 学习笔记四 XYLayout
2010-11-18 15:57 1412XYLayout就是采用绝对坐标来确定子figure的位置和大 ... -
Draw2d 学习笔记一 helloworld
2010-11-18 14:02 1253先来个hellloworld入门啊。 public ... -
Draw2d 学习笔记三 FlowLayout
2010-11-18 14:01 1182public class HelloWorld { p ... -
Draw2d 学习笔记二 BorderLayout
2010-11-18 13:53 1442public class HelloWorld { p ... -
Draw2d 中 Label Clickable ButtonModel的使用
2010-07-27 17:26 1422摘要:Draw2d 实现按钮和标签一样的小控件。 publi ...
相关推荐
实现gef模型连线间锚点的定位实现鼠标位置定位,就是鼠标在哪里,他的锚点就会在哪里!
JS锚点平滑跳转,详见下载包说明!
台湾地图锚点
js锚点定位 js锚点定位js锚点定位js锚点定位js锚点定位js锚点定位
html页面锚点跳转
微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)...
jquery html锚点链接_a标签当前页面锚点_a标签锚点
实现锚点的带动画效果,实现锚点的带动画效果,实现锚点的带动画效果
小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点...
易语言模块窗口-控件锚点.rar 易语言模块窗口-控件锚点.rar 易语言模块窗口-控件锚点.rar 易语言模块窗口-控件锚点.rar 易语言模块窗口-控件锚点.rar 易语言模块窗口-控件锚点.rar
易语言设置控件锚点模块源码,设置控件锚点模块,设置控件锚点_,新窗口过程,原位置信息
小程序源码 外卖:实现类似锚点功能 (代码+截图)小程序源码 外卖:实现类似锚点功能 (代码+截图)小程序源码 外卖:实现类似锚点功能 (代码+截图)小程序源码 外卖:实现类似锚点功能 (代码+截图)小程序源码 外卖:...
锚点与定位.rp
易语言古木设定控件锚点例程源码,古木设定控件锚点例程,设置控件锚点,水平均分子控件,垂直均分子控件
固定在页面右侧的锚点链接导航菜单,点击对应的导航栏目页面自动滚动到对应的锚链接名所在的位置
jquery锚点带动画跳转
Css.Xhtml 专题:基于锚点的相册专题:基于锚点的相册专题:基于锚点的相册专题:基于锚点的相册
微信小程序 外卖点餐 外卖:实现类似锚点功能 (源代码+截图)微信小程序 外卖点餐 外卖:实现类似锚点功能 (源代码+截图)微信小程序 外卖点餐 外卖:实现类似锚点功能 (源代码+截图)微信小程序 外卖点餐 外卖:...
完整版设置控件锚点.rar
外卖:实现类似锚点功能