资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
画图板学生姓名曾思哲院系名称信息工程学院专业名称计算机科学与技术班 级计算机班学 号11923110指引教师谢红标完毕时间月4日 项目可行性报告1 引 言 画图板软件开发和设计该画图板在图形界面下可以画椭圆,正圆,矩形,正方形,填充颜色,添加字符等基本功能。1.2课程设计的目的巩固和加深以Ja 语言为基本的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Jav为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Jaa程序的水平,程序通过调用JAVA提供的基本类进行了简朴的界面设计,运用了JAA中类的继承特性实现了对父类措施的调用,并多次使用CSE语句实现绘图菜单的选择,运用了适配器类简化了监听器类的重写工作。1.本选题的设计背景在现实生活中,我们会常常遇到些需要绘制简朴图形的问题,但是网络上大多数的绘图工具都比较复杂,因此我们需要某些简朴实用的绘图小工具,以便对工作带来最大的满足与需求,于是我就设计了一种简朴的绘图小工具,虽然不很常熟但是我觉得还挺实用的。2 需求分析2.1 功能需求设计一种画图工具,可以实现画图工具、画直线、画椭圆、画多边形等功能,并且在绘图的过程中可以修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能。1、这个画图程序,最基本的功能是,作为一种画图工具运用它实目前屏幕上任意绘画、书写的功能;2、运用这个画图程序,通过选择画直线、画箭头、画多边形、画矩形、椭圆、圆形等功能选项并且在屏幕上拖动鼠标操作能实现画出相应图形的功能;3、这个画图程序,还需具有橡皮擦的功能,运用这个橡皮擦可以擦除屏幕上的图案,并且此橡皮擦也应当可以变化大小;4、这个画图程序,还应当做到可以变化画笔颜色的功能;、这个画图程序,还应当具有可以清除整个屏幕已绘制图画的功能。2.2 系统的开发运营环境本系统集成开发环境:MyEclipse本系统运营环境: inws xp 或以上版本yEclise 是一种开放源代码的、基于Java 的可扩展开发平台。编写代码和运营软件都很以便。编写过程中要是有错误就有提示,非常以便顾客修改代码。项目简介项目名称ido画图工具开发人员曾思哲项目简介此系统是基于aa设计和开发的一种windows画图工具,规定根据顾客的实际需求,规定实现画图、图画修改等功能,系统规定界面简朴,以便顾客使用。项目目的Wnws画图工具的目的对于那些初学计算机的顾客想要画图非常简便、易学,界面良好。重要技术本系统是设计一套在wiws平台下的画图工具,系统采用CS构造。编程环境NetBns .7项目特点以便顾客使用画图工具,提高使用的效率,顾客可以自己画自己需要的画面也可以用画图工具打开你的画面进行修改和删除,并且有保存格式用多种,例如jg、gf、png、m等,顾客可以随意选择。技术重点1.如何创立多中保存的格式。2.菜单栏功能的实现。3从其她文献当中读取图片、打开并修改。4.画图软件的界面的工具功能的实现。Winow画图工具的设计1.1 项目背景随着社会的不断发展,人们对画面规定越来越高,对画图工具的软件提出了更高的规定。画图工具的软件可以让顾客更加节省时间,可以从其她文献找出某些图片修改一下就可以使用,比起老式的手工的画图来说,不单单是节省时间并且画面要好的多,保存起来也比较以便,下次在用的时候一找就出来了。在例如画面的修改在这套软件上我们可以直接使用彩色,使画面更直观,并且还可以修改,画图的软件目前应用于各行各业,这款软件特别适合教学用,学生画图也是比不可缺少的。需求分析是从客户的需求中提取出软件系统可以协助顾客解决的业务问题,通过对顾客问题的分析,拟定系统的功能需求。这个环节是对理解需求的升华,直接关系到该系统的质量。分析的主线目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应当是开发人员和顾客或客户一起完毕的。.1画图板的性能规定(1) 统一解决的精确性和及时性。(2) 软件的开放性和可扩大性。(3) 软件的易用性和易维护性。1.2画图板的功能分析我们作的是Widos画板,再设计时应当考虑到顾客的需要和画图的习惯。因此我们需求分析的重要任务就是来理解顾客画图时的习惯。尽量让顾客满意。在此我们是先设计一种大概的程序模型让别人试试我的画图板。第2章 概要设计.1 软件设计1.1 本软件是设计一套在windows平台下的画图工具,重要用于重要用于画图、打开图画类的页面修改并保存成顾客需要的格式。系统采用C/S构造,重要用于客户端,供客户学习、工作使用,本软件提供良好的界面,操作简朴。第章 具体设计3.1 模块设计该系统由个模块构成,分别是工具模块、储存模块、颜色模块、协助模块。l 工具模块画笔(eniloo)、格式刷(BrushTool)、喷墨工具(toierol)、橡皮(EraserTol)、直线(Lineoo)等重要用于不同状况的使用,在面板上以便顾客的使用。l 储存模块 判断目前画板与否保存(yme)。 设立多种存储的格式供顾客选择,增长文献过滤器(ddlter)。 存储途径可以设立默认的。l 颜色模块通过创立颜色选择器(ColorChooser),来让顾客获取颜色,供顾客使用。l 协助模块系统协助文档和软件的声明。 32 功能设计重要功能如下:、画笔 nciool这个类继承于Absratl类,Pncil类中有个对象Tol顾客通过点击画板上的图标来获取画笔,它的功能让顾客用来画出多种图形。2、格式刷子 BruhTool这个类继承于AbstratToo类,它的功能让顾客画出更好的图形。3、喷墨工具Atomizerool这个类继承于AbstractTl类,AomierToo类中有个对象ool顾客通过点击画板上的图标来获取喷墨图标,它的功能让顾客用来涂颜色用的。4、橡皮EserTol这个类继承于AbstrctTool类,它的功能用来修改画板上画错的线或者图形。5、直线ineTool这个类继承于AbtratTool类,它的功能:让顾客画出更好的直线。 6、储存Mye这个类继承BuffereImag类,重要用来判断目前的文献与否保存。 7、界面magerame这个类继承fram类,重要用来创立界面,初始化屏幕的尺寸、设立默认画板。3 总体设计. 系统体系构造设计本程序主体为一种文献:MiniDaPd.a。其中涉及的程序段有: MniDawPad():构造函数,用以初始化。 hoseColr():选择目前绘图颜色程序段。 etStrok():设立目前画笔粗细程序段。 loadFil():调用图形文献程序段。 newFile():新建一种图形文献程序段。 sveFil():保存目前所绘制图形程序段。 reatNeItem():新建一种基本图形单元程序段。相应的内部类有: Bttonndlr:用来解决基本图形单元的按钮事件。 BtonHner1:用来解决颜色、画壁粗细、文字输入三个操作按钮的按钮事件。 DrawPanl:用来创立绘图区域的子类。 MoeA:继承了MouseAdater,用来完毕鼠标相应事件的操作,如单击、松开、进入和离开等。 MuseB:继承MousMoonAdptr,用来完毕鼠标拖动和鼠标移动的相应事件操作。此外,还继承了父类drawngs的基本图形子类,如前所述,这里不再反复。2系统功能模块及重要类设计画板重要由如下几种部分构成:3.2.1主窗体的设计。主类(MniDrwPd)用来生成主界面,完毕画图板的重要框架。主类由JFme派生出来。主界面由菜单栏、工具栏和画图区域三部分构成,布局格式采用orerLayo布局形式。3.22菜单栏和工具栏的设计。菜单栏涉及文献菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。其中文献菜单栏涉及文献的新建、打开、保存等选项;颜色菜单栏可以进行颜色选择;线条粗细菜单栏设立线条的粗细;提示菜单栏给出提示信息。工具栏由新建、打开和保存文献按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框构成。在主类中添加并对菜单栏和工具栏添加事件监听。3.3事件响应的解决。对菜单栏、工具栏和用鼠标画图的事件响应进行解决。(1)菜单栏中文献的新建、打开和保存菜单事件的解决:Java把每个文献都视作顺序字节流。如果要在Java中进行文献解决,则必须用到Javai包。这个包定义了某些流类,选用FilInputStram(从文献中读入数据)和luturem(向文献输出数据),通过建立这些文献的对象便可以打开文献。这些流相应地从InutStram和OttStream派生,这些文献均使用文献流,因此必须将文献构造化以适应程序的规定。我们需要对保存的对象序列化,然后以输出流的方式保存。在程序中用neFile()、ladFil()和savile()三个函数分别实现文献的新建、打开和保存。(2)工具栏事件的解决:重要有某些Butto构成。我们用uttonHndlr内部类解决基本单元事件,Buttonaler内部类解决新建、打开和保存文献按钮,在画图类aanel中定义CreteNwtem()函数解决工具栏中的画图事件。(3)鼠标画图:由于画图板重要是用来画图,因此需要在程序中添加对鼠标按下、拖动、进入、退出、移动和单机事件进行监听并进行解决。内部类mousA定义了完毕鼠标按下、松开、进入、退出事件响应。内部类moseB完毕鼠标拖动和移动事件响应。具体设计与实现4 绘图主界面模块4.1.功能设计在程序设计中用到了动态绑定,我们可以提取她们的公共属性,先建立一种父类,然后建立各个子类,继承父类中的措施并将父类中的da函数重写。某些有关图形形状的类,最重要是用于画图、字体和橡皮擦等基本类型。如irle、Triagle、Rectanl,它们都是有超类(Oect类)派生的。在面向对象编程中,每个类均有画出自己的能力,每个类均有自己的daw函数,但每种形状的dra函数都不同样,但在绘制任何形状时,只需简朴调用父类drawn的draw措施,然后让程序动态地根据对象的类型决定使用哪个子类的r措施。为了使画出的图形更加美观,我们在ra函数中使用了Gahic的对象的引用。这样可以在不变化原程序的状况下,添加扩展的图形,是程序变得更加强大。同步,为了文献的保存,父类实现Seriaie接口,将对象线性化。4.1.界面设计我们可以看到,整个程序界面很简洁,并且界面操作、提示内容所有是中文,一目了然。在左上方的菜单栏里有文献、颜色、线条粗细、协助个下拉式菜单,可以对绘图文献进行相应的操作。下面一排是工具栏的工具按钮,从左到右依次为:新建文献、打开文献、保存文献
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号