Draw2d
文章平均质量分 78
javamxj
这个作者很懒,什么都没留下…
展开
-
Draw2D--序言
首先,先介绍一下我自己。我1996年毕业于江汉石油学院,在大学时就对软件开发非常感兴趣,在大学时通过程序员中级水平考试;后来在2001年通过国家高级程序员水平考试。在2001年正式转行做软件开发,在做软件开发的将近5年的时间里,对软件开发的认识、态度、理念都发生了许多的变化,基本上完成了从程序开发到软件开发的过渡和转变。因为接触到许多unix上的大型地学软件(进行地质分析、地震分析)的缘故,所以我原创 2005-04-20 22:06:00 · 6923 阅读 · 4 评论 -
Draw2D--1. 设计思想和相关模式
1. Draw2d 设计思想 Draw2d是一个宿主在SWT Composite控件中的轻量级的构件(widge)系统。一个Draw2d应用程序由一个 SWT Composite控件, 一个轻量级系统, 以及其内容(figures)组成。Figures是Draw2d的建造块。下面的“Hello World”例子程序演示了如何实现一个最简单的draw2d程序。Listing for "Hello原创 2005-04-20 23:09:00 · 9235 阅读 · 2 评论 -
Draw2D--2. 图形元素(Figure)类设计层次(1)
第2章 图形元素(Figure)类设计层次 Draw2d是一个轻量级widget系统,定义了类似控件的一些图形元素,也定义了一些形状。图形元素能够相应各种事件,可以直接在事件处理函数中处理这些事件并对模型进行修改。 如果不需要对编辑图形元素执行编辑过程,只需要应用draw2d就可以完成显示目的。使用draw2d开发图形显示应用程序一般需要三个步骤: 1. 创原创 2005-04-29 20:32:00 · 6822 阅读 · 1 评论 -
Draw2D--2. 图形元素(Figure)类设计层次(3)
4,接口继承层次设计 IFigure定义了一个图形元素必须要实现的基本功能,通过对IFigure进行扩展可以为图形元素提供额外的功能。 FreeFormFigrue允许它的孩子向负坐标空间扩展。这个图形元素一定要被放置在FreeformViewport 中。另外,你不能对这个图形元素调用IFigure.setBounds(Rectangle)。它的边界将基于它的孩子的范围被计算。一个F原创 2005-04-29 20:44:00 · 6503 阅读 · 2 评论 -
Draw2D--2. 图形元素(Figure)类设计层次(2)
下面开始描述draw2d中定义的图形元素类层次。 1、可点击图形元素的设计 一个Clickable(可点击对象)要以某种方式响应鼠标点击(由ClickBehavior确定)并且触发动作事件。它并不提供可视化反馈。依赖模型持有者和理解并更新这个模型的事件处理器,默认使用ButtonModel。任何图形元素都可以被设置为Clickable的内容。当Clickable被点击后,事件处理器被调用原创 2005-04-29 20:40:00 · 5511 阅读 · 1 评论 -
Draw2D设计--3. LightweightSystem设计和实现剖析(1)
draw2d设计内幕之一:LightweightSystem设计和实现剖析 作者:余学锋 编辑:javamxj 发布:javamxj 源站点:分享Java快乐 这篇文章假设读者在浏览本章之前,已经对LightweightSystem有了一定的了解,基本上应该要明白LightweightSystem究竟是个什么?在原创 2005-05-19 09:32:00 · 5322 阅读 · 0 评论 -
Draw2D设计--3. LightweightSystem设计和实现剖析(2)
2. SWTEventDispatcher实现 EventDispatcher定义了事件分发器的抽象实现,它要监听各种不同的SWT事件并将这些事件分发到感兴趣的draw2d对象。对于任何EventDispatcher的实现者,必须要管理下面的内容:(括号中的内容是实际的变量定义)· 鼠标是否被捕获(captured) · 根图形(root) · 鼠标操作目标(mouseTarget) · 光原创 2005-05-19 21:55:00 · 4692 阅读 · 0 评论 -
Draw2D设计--3. LightweightSystem设计和实现剖析(3)
3.更新管理器的设计和实现 Draw2d SDK这样描述更新管理器:更新管理器要负责处理重绘图形元素并布局它们的任务。一个恰当的实现是批处理待做的工作并合并任何冗余的工作。更新管理器可以含有0或多个被嵌套的更新管理器。在所有的请求已经被批处理后可以执行一些优化。因为这个原因,一个更新管理器应该在完成自己的更新之前要对它所嵌套的更新管理器调用PerformUpdate()操作。在被嵌套的更新原创 2005-05-19 21:57:00 · 6434 阅读 · 4 评论