- 浏览: 564731 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 969public class Connection { ... -
Java Draw2d 目录
2013-04-23 15:02 1106Java Draw2d 目录1,helloworld (h ... -
Draw2D Flowchart的教程
2010-11-22 13:00 1404关键字:Draw2D Flowchart 原文链接:htt ... -
Draw2D UML Diagram
2010-11-22 11:06 2140/** * A test class to displa ... -
Draw2d 边界 边框 border
2010-11-20 09:55 1948关键字:Draw2d 边界 边框 border 在Dr ... -
Draw2d 拖拽 Drag and Drop
2010-11-19 21:10 1876关键字:Draw2d 拖拽 Drag and Drop ... -
Draw2d 连线六 路由 Router
2010-11-19 19:42 1659关键字:Draw2d 连线 路由 Router Manhatt ... -
Draw2d 连线五 Locator 标示
2010-11-19 19:26 1088关键字:Draw2d 连线 Locator Connecti ... -
Draw2d 连线四 箭头 Decoration
2010-11-19 19:07 1591关键字:Draw2d 、Decoratio ... -
Draw2d 连线二 ChopboxAnchor EllipseAnchor
2010-11-19 16:35 1562关键字:Draw2d,连线,ChopboxAnchor El ... -
Draw2d 连线一
2010-11-19 16:15 1189关键字:Draw2d 连线 PolylineConnectio ... -
Draw2d 学习笔记八 GridLayout ToolbarLayout布局管理器
2010-11-19 14:36 2710原文:http://www.cnblogs.com/bjzha ... -
Draw2d 学习笔记六 布局管理器 约束(Constraint)
2010-11-19 12:17 1317关键字:Draw2d、布局管理器、约束(Constraint) ... -
Draw2d 学习笔记七 GridLayout布局管理器
2010-11-18 18:22 1297关键字:Draw2d GridLayout 布局管理器Grid ... -
Draw2d 学习笔记五 布局管理器 ScrollPaneLayout ScrollPane
2010-11-18 16:03 2287关键字:Draw2d ScrollPaneLayout Sc ... -
Draw2d 学习笔记四 XYLayout
2010-11-18 15:57 1446XYLayout就是采用绝对坐标来确定子figure的位置和大 ... -
Draw2d 学习笔记一 helloworld
2010-11-18 14:02 1298先来个hellloworld入门啊。 public ... -
Draw2d 学习笔记三 FlowLayout
2010-11-18 14:01 1221public class HelloWorld { p ... -
Draw2d 学习笔记二 BorderLayout
2010-11-18 13:53 1483public class HelloWorld { p ... -
Draw2d 中 Label Clickable ButtonModel的使用
2010-07-27 17:26 1449摘要:Draw2d 实现按钮和标签一样的小控件。 publi ...
相关推荐
Draw2D提供了强大的连接和路由功能,支持自定义锚点(Anchor)、装饰(Decoration)以及路由算法(Routing Algorithm)。 - **锚点**:定义了连接线的起点和终点,可以通过自定义锚点来实现更灵活的连接。 - **装饰...
JavaScript 锚点平滑跳转是一种在网页中实现页面内部导航时提供平滑过渡效果的技术。传统的HTML锚点链接可以直接跳转到页面内的某个特定位置,但这种跳转通常是瞬间完成,缺乏用户体验上的平滑性。JS锚点平滑跳转则...
在图形编辑框架(GEF,Graphical Editing Framework)中,锚点(Anchor)是一个关键概念,它是连接模型元素之间的连接线在元素上的固定点。在GEF中,锚点的定位直接影响到连接线的形状和行为,特别是当用户通过鼠标...
在DirectX编程中,"Sprite_锚点与变换"是一个重要的概念,主要涉及到2D图形渲染和游戏开发。本文将详细解析标题和描述中的知识点,包括DirectX的基础、锚点的概念以及变换操作。 1. DirectX基础 DirectX是由微软...
台湾地图锚点
在UI设计和编程中,控件锚点是一个关键概念,用于确定控件在容器或窗口中的位置和大小如何根据容器的变化而变化。锚点机制允许开发者创建响应式用户界面,这样无论屏幕尺寸如何,界面都能保持良好的布局。下面将详细...
JS实现页面快速定位的技术主要涉及锚点跳转的概念和应用。锚点,也被称作片段标识符,其作用是允许用户点击链接后页面能够跳转到特定的位置。在网页设计中,尤其是在内容较多、页面较长的情况下,合理使用锚点可以...
三、CSS3实现动画 1. 过渡(Transition):通过设置`transition`属性,可以使元素在改变状态时有平滑的过渡效果。例如,让页面滚动时,目标元素的高度逐渐变化: ```css #section1 { transition: height 0.5s ...
描述中的"ctrl+[:锚点跟随到节点放大缩小和对齐",意味着使用Ctrl+ [ 这个组合键可以实现锚点的特定功能,即让选定的UI元素的锚点与节点对齐,并在放大或缩小过程中保持其位置关系不变。这在调整UI布局时非常实用,...
html页面锚点跳转
微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)...
本主题聚焦于利用jQuery实现一个特定的功能——当页面滚动时,展示一个浮动菜单栏,并实现锚点定位效果。这个功能对于提高用户体验,尤其是内容丰富的长页面,是非常有用的,因为它可以帮助用户快速导航到页面的不同...
RectTransform是Unity3D中用于2D图形布局的重要组件,它包含了位置、大小、旋转和锚点等属性。通过这个工具,开发者可以预设一组锚点配置,然后应用到多个UI元素上,或者根据不同的需求自定义锚点设置。 虽然描述中...
三、jQuery锚点动画跳转步骤 1. 绑定点击事件:使用`$(document).ready()`确保DOM加载完成后,为所有具有特定类名(如`.scroll-to-anchor`)的锚点链接绑定点击事件。 2. 阻止默认行为:在事件处理函数中,使用`...
本文将深入探讨JavaScript锚点定位的原理、实现方式以及相关的应用技巧。 ### 锚点定位基础 在HTML中,我们可以为任何元素设置一个唯一的`id`属性,例如: ```html 第一部分 ``` 然后在页面的其他地方创建一个...
锚点导航栏是一种常见的网页设计元素,主要用于提升用户体验,帮助用户快速定位到页面中的特定区域。在本项目中,我们讨论的是一个固定在页面右侧的锚点链接导航菜单,其功能是当用户点击导航菜单中的不同栏目时,...
3. 锚点类型:在易语言的示例中,可能会展示不同类型的锚点设置,如单边锚点(左、上、右、下)和多边锚点(左上、右上、左下、右下等),每种锚点类型会影响控件在窗口大小改变时的响应方式。 4. 事件处理:控件的...
窗口控件锚点是软件开发中的一个重要概念,特别是在GUI(图形用户界面)设计中。它是一种布局管理技术,用于在窗口大小变化时自动调整控件的位置和大小,以保持特定的相对位置关系或比例。这一特性在Windows应用程序...
小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点...
在易语言中,“古木设定控件锚点例程”是一个关于用户界面布局管理的实例,主要涉及到控件的定位和尺寸调整。 控件锚点是窗口或对话框设计中的一个重要概念,它决定了控件如何随着容器(如窗口)大小的变化而自动...