关键字:Draw2d,连线,ChopboxAnchor EllipseAnchor
连线一提到的连线其实并没有连接到图形的边框上,这个问题主要取决于锚点(Anchor)。
如果将代码中的椭圆改为正圆就很容易看出来了。
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();
IFigure figure2 = new Ellipse();
// IFigure figure2 = new Triangle();
// --------------------------------------------------------
// add connection
PolylineConnection connection = new PolylineConnection();
connection.setSourceAnchor(new ChopboxAnchor(figure1));
connection.setTargetAnchor(new ChopboxAnchor(figure2));
// add connection
// --------------------------------------------------------
rootFigure.add(figure1,new Rectangle(10,10,60,30));
rootFigure.add(figure2,new Rectangle(80,90,60,60));
rootFigure.add(connection);
LightweightSystem lws = new LightweightSystem(shell);
lws.setContents(rootFigure);
}
}
这里的关键的就是锚点,采用了ChopboxAnchor 的方法,ChopboxAnchor 的返回的是和矩形边框的交接点,而不是和所画图形的交点。解决这个问题就要采用EllipseAnchor定锚点的方法了。
将代码的这个改一下就行了。
connection.setTargetAnchor(new EllipseAnchor(figure2));
这样就OK了。
- 大小: 3.2 KB
- 大小: 5.5 KB
分享到:
相关推荐
Draw2d.js是一个开源的JavaScript图形库,专为在Web应用程序中绘制和操作二维图形而设计。这个库特别适用于创建流程图、UML类图、网络拓扑图和其他复杂的图表。它提供了丰富的API和功能,使得开发人员可以轻松地创建...
在IT领域,特别是图形用户界面(GUI)的开发中,Draw2D和GEF(Graphics Editing Framework)是两个重要的开源库,主要用于构建可定制的、交互式的2D图形编辑工具。下面将详细介绍这两个库以及如何在实际项目中使用...
在Java编程中,Draw2D库是一个强大的工具,它允许开发者使用SWT(Standard Widget Toolkit)来创建复杂的图形用户界面,特别适用于绘制图形和图表。Draw2D是Eclipse项目的一部分,它提供了一套丰富的API,可以方便地...
eclipse draw2d实例大全 org.eclipse.draw2d.examples.cg org.eclipse.draw2d.examples.connections org.eclipse.draw2d.examples.graph org.eclipse.draw2d.examples.hittest org.eclipse.draw2d.examples.images ...
Java中的Draw2D和SWT(Standard Widget Toolkit)是两种强大的图形用户界面(GUI)工具,它们被广泛用于创建复杂的2D图形和可视化应用程序。在Java编程中,这两个库为开发者提供了丰富的功能,使得在屏幕上绘制高...
在计算机编程领域,可视化和交互式界面设计是不可或缺的部分,而draw2d库正是这样一个专注于二维图形绘制的工具。draw2d库,全称为Draw2D,是一个开源的JavaScript库,它允许开发者在HTML5的Canvas元素上创建复杂的...
Draw2d是一个强大的图形绘制库,常用于在Java环境中创建二维图形用户界面。这个"Draw2d教程"可能包含了从基础到高级的各种概念和技术,帮助学习者深入理解如何利用Draw2d来构建交互式图形应用。以下是教程可能涵盖的...
Draw2d是Eclipse RCP(Rich Client Platform)框架中的一个子项目,专门用于2D图形绘制和交互。它提供了一套丰富的API,允许开发者在Java应用程序中创建、编辑和展示复杂的图形界面,尤其适用于创建流程图、图表和...
### Draw2D Programmer Guide #### 概览:整体框架 Draw2D是Eclipse平台下的一种轻量级图形用户界面工具包,它提供了一系列用于构建复杂图表、文档或绘图的功能组件,这些组件被称为“Figure”。不同于传统的GUI...
《Eclipse Draw2D 示例代码解析》 Eclipse Draw2D 是一个强大的图形用户界面库,主要用于在Java环境中创建和管理2D图形。它作为Eclipse RCP( Rich Client Platform)的一部分,为开发者提供了丰富的图形绘制和交互...
Draw2d是Java图形库Swing或 SWT中的一个子库,主要用于创建2D图形和复杂的图形用户界面,尤其适用于绘制流程图、图表和其他图形结构。它提供了丰富的图形绘制功能,如线条、形状、文本和图像的处理,以及交互式操作...
Draw2D是SWT中的一个子项目,专门用于在SWT组件上进行图形绘制,提供了一组丰富的API,使得开发者可以创建出复杂的2D图形用户界面。本总结将深入探讨SWT和Draw2D在绘图方面的知识。 1. SWT基础: SWT是一个与操作...
《Draw2D技术详解与实例应用》 Draw2D,全称为Eclipse Draw2D,是Eclipse项目中的一部分,它提供了一套丰富的图形绘制和交互处理的API,主要用于在Java环境中创建2D图形用户界面。这个强大的工具库使得开发者能够...
Draw2D是Eclipse平台下的一个开源库,专门用于创建二维图形和复杂的图形布局。本文将深入探讨Draw2D库及其在Java环境中的应用,通过分析`Draw2DLayoutExample.java`代码,揭示其背后的编程原理和技术要点。 首先,...
Draw2D是GEF的一部分,专注于二维图形的绘制。它提供了一系列的图形对象和布局管理器,用于在Eclipse RCP(Rich Client Platform)环境中绘制图形。Draw2D使用Java2D API,可以创建各种形状、线条、文本等,并支持...
《Draw2D UML Diagram——源码与工具的深度解析》 在软件开发过程中,UML(统一建模语言)图是一种重要的可视化工具,它帮助我们理解和表达系统的设计。Draw2D UML Diagram是一个用于创建UML类图的工具,通过源码...
Draw2D.js是一个专门用于创建和编辑二维图形的JavaScript库,特别适用于绘制工作流图。最新版本v2.9.1为开发者提供了更多功能和优化,使其在前端应用中的表现更加出色。本文将详细介绍Draw2D.js的核心特性、使用方法...
【标题】"org.eclipse.draw2d.examples" 是一个与Eclipse Draw2D相关的开发实例集合,主要用于展示和学习如何在Eclipse环境中使用Draw2D库进行图形界面编程。 【描述】提到的内容暗示了这个工程可能存在一定的兼容...
Draw2d API Draw2d是一个宿主在SWT Composite控件中的轻量级的构件(widge)系统。一个Draw2d应用程序由一个 SWT Composite控件, 一个轻量级系统, 以及其内容(figures)组成。
首先,Draw2D(二维绘图框架)是一个JavaScript库,主要用于在Web浏览器中创建复杂的2D图形和图表。它提供了丰富的API,允许开发者动态地创建、编辑和展示图形元素,如流程图中的节点、连接线等。Draw2D的强大之处...