开源项目jhotdraw分析报告

开源项目jhotdraw分析报告

ID:22864636

大小:324.15 KB

页数:15页

时间:2018-11-01

开源项目jhotdraw分析报告_第1页
开源项目jhotdraw分析报告_第2页
开源项目jhotdraw分析报告_第3页
开源项目jhotdraw分析报告_第4页
开源项目jhotdraw分析报告_第5页
资源描述:

《开源项目jhotdraw分析报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、开源项目JHotDraw分析报告作者:Email:电话:一、JHotDraw项目的简要介绍JHotDraw是一个基于LGPL协议的二维的GUI框架幵源项目,是一个设计良好的(Well-Designed)框架,主要用于支持用Java开发的图形编辑器,已用于各种研究。JHotDraw实际上是HotDraw的Java版,HotDraw也是一个图形框架,最初是由KentBeck和WardCunningham用Smalltalk开发为教学的0的而设计的。目前它的最新版木是JHotDraw7.0.9,从JHotDraw5.2版

2、木起其框架结构已经成熟稳定。本文以5.2版本为讨论对象,在这个版本里,原来的AWT组件被换成了相应的JFCSwing组件,同时也支持一些新的JFCSwing特性。所以,JHotDraw作力一个专业应用的GUI框架,它基丁•的是Swing框架提供的通用的GUT设施,在这些设施之上,JhotDraw乂提供的一些特性和功能包括支持多文档应用、拆分编辑器窗U、支持滚动条、弹出式菜单、支持撤消/重做、工具栏可以根据选择的不同的工具与图形而品示不同的工具、通过StorageFormat接口可以自己实现所存贮的图形文件格式(比如

3、xml)、JHotDraw甚至支持简单的动画等。关于JHotDmw的组织方式及结构,其所有的类及接口是按照它们的功能来组织的。可概括如下:CH.ifa.Draw,framework包括核心组件的大多数接U定义;CH.Ifa.draw.Standard包含这些接口的标准实现;CH.Ifa.Draw,figures包含图形以及它们的相关类;CH.Ifa.Draw,contrib包含〜些附加的功能;CH.Ifa.Draw,samples包含一些利用JHotDraw的应用的简卑例子;CH.Ifa.Draw,applicat

4、ion包含应用(Application)实现的框架;CH.Ifa.Draw,applet包含Applet实现的框架,等等。JHotDraw主框架如图1所示。-^5——JFnunvDrvi^Application—handles——w—DrawingViewnotification个figurecontalncrl阁1JHotDraw主框架经过这么多年的发展,JHotDniw主框架的各主要组件己相对同定,DrawApplication定义了绘图的界面,并作为各个组件交互的中介者;DrawingView是一个显示绘图的

5、区域,它也可用来接受客户的输入;Drawing容纳各种图元(Figure),是图元的容器。Drawing的改变被传递到DrawingView,并负责更新图形。每个图元都有句柄(Handle),句柄用来定义访问点以及如何与图元交互。在DrawingVievv中,可以选择几个图元并对其操作。工具栏里有各种工具(Tool)用来生成图元或对图元进行操作。实际上,框架从某种意义上讲是一个不完整的系统,通常会对此系统进行剪裁、扩充等用以创建完整的应用。框架实现了应用程序之间的共同点,从而减少了构建这些应用的代价。在研究运用JH

6、otDraw的开发过程中,一般会考虑下面几个步骤。1.为开发的应用程序创建自己的图元(figure)。针对特定的应用程序创建对应的图元,不过在JHotDraw屮一些预定义的图元已经存在,像AbstactFigure、compositeFigure、AttributeFigure等,可以通过继承并重载一些方法(比如draw())来重新定义它们的行为和表现形式,从而使具有创建特定图元的功能。2.按照应用的需求开发图形工具。JHotDraw木身已提供了一些工具,像创建工具CreationTool、联接工具Connecti

7、onTool、选择工具SelectionTool以及文本工具TextTool,等等。通过继承这些类并重定义其屮的某些方法,比如像mouseUP()、mouseDown(),就可以定义程序的交互过程,执行应用程序所需要的任务,比如操作自定义的对象。3.生成GUI并整合进应用程序中。JHotDraw已经有了一个基木的应用程序框架;如,DrawApplication、MDI_DrawApplication、DrawApplet。开发者可以重定义createMenus()、createFileMenu()和其他的办法来开发

8、出自己的菜单,通过重定义createTools()来插入新的I:具。任何利用JHotDraw的应用都是用一个窗U用来绘图,这个窗U就是GUI编辑器窗口,它是JFrame的子类,包含•一个或多个内部框漿(InternalFrames),每个都与一个绘画视图(DrawingView)相关。DrawingView是Jpanel的子类,是一个显示绘阁的区域。二、JH

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。