1 / 16
文档名称:

windows绘图板资料.docx

格式:docx   大小:330KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

windows绘图板资料.docx

上传人:雨林书屋 2022/12/3 文件大小:330 KB

下载得到文件列表

windows绘图板资料.docx

文档介绍

文档介绍:该【windows绘图板资料 】是由【雨林书屋】上传分享,文档一共【16】页,该文档可以免费在线阅读,需要了解更多关于【windows绘图板资料 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。精选文档
精选文档
1
精选文档
Windows绘图系统的设计与实现
滨江学院
软件工程课程设计报告
(2013--2014年度第1学期)
课程名称:
软件工程课程设计

目:
Windows绘图板的设计与实现

业:
计算接科学与技术

级:
计科1班

号:
20112308021

名:
王昊
指导教师:
李振宏
设计周数:
两周
日期:2013年11月
20日
精选文档
精选文档
16
精选文档
1
精选文档
精选文档
3
精选文档
Windows绘图系统的设计与实现
目录
绪论·········································································3
纲领·········································································3
一、课程设计目的与要求·······················································3
二、设计正文·································································4
1、概括··································································4
····························································4
·························································4
··············································4
2、系统需求分析··························································4
·····························································4
·······················································4
3、Windows绘图板软件纲领设计···········································6
·····································································6
················································7
································································8
4、Windows绘图板软件详尽设计············································9
····································································9
··································································9
··································································9
······································································10
5、程序测试······························································11
········································································11
··································································11
··································································13
······································································13
三、课程设计总结或结论·······················································14
四、参照文件·································································14
精选文档
精选文档
4
精选文档
2
精选文档
精选文档
16
精选文档
Windows绘图系统的设计与实现
绪论
计算机已经成为我们学****和工作的得力助手:今日,计算机的价钱已经十分便宜,性能却有了长足的进步。它已经被应用于很多领域,计算机之所以这样流行的原由主要有以下几个方面:
第一,计算机能够取代人工进行很多繁琐的劳动;
其次,计算机能够节俭很多资源;
第三,计算机能够大大的提升人们的工作效率;
第四,计算机能够使敏感文档更为安全,等等。
既然计算机有这么多长处。所以我就梦想着能用我的双手和智慧让计算机能听我的使唤,计算机我认
为最成熟的程序就是Windows了。所以我就模拟Windows的绘图板,自己做了一个绘图板。也有一部分
成分是为了达成学校的课题任务,但我也是很快乐的作了这个课题。
用java做Windows的绘图板的确有一些难做。因为有很多编程语言都有比java好的多的界面设计功
能。如:VB,C#等。他们都是微软企业设计的语言有很好的界面设计功能。并且C#也有java所拥有的
类库功能。我在这其实不是说java不好,不过说明java在做界面程序时。其实不占优势。特别是做Windows的
软件。
纲领:
Windows绘图板系统的开发最主要包含前端应用程序的开发。对前端应用程序的开发要求应用程序功
能齐备,易使用,界面雅观等特色。
Windows绘图板系统主要实现文件的新建,保留,颜色的编写,在座标系中画直线、矩形、椭圆、圆
形、三角等。图形界面各个按钮如“橡皮”、“铅笔”、“刷子”、“A”、“直线”等的实现。该系统还可以调整画笔的大小,橡皮的大小,颜色能否填补,编写各样颜色的实现。
我们采纳Java语言设计编程该系统。
要点词:Windows绘图板Java、
一、课程设计的目的与要求
目的:采纳面向对象编程技术,设计并实现一个功能完美的Windows绘图板程序。经过实质程序的开发,
娴熟面向对象程序设计方法,掌握桌面程序设计技巧,。
任务:
开发一个功能完美的Windows绘图板程序,功能包含:新建空白文档、文件保留、绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角
矩形等)、橡皮擦、增加文字等;
达成软件开发文档编写;
精选文档
精选文档
6
精选文档
3
精选文档
精选文档
16
精选文档
Windows绘图系统的设计与实现
给出程序运转、测试的详尽结果。
进一步增强和提升软件工程文档的编写能力;
培育协作能力和团队精神。
二、设计正文

:Windows绘图板的设计与实现
:
本系统目标是实现Windows绘图板软件功能概括
1)新建空白文档;
2)文件保留;
3)绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆
角矩形、实心圆角矩形等)、橡皮擦、增加文字等;
:
操作系统:WindowsXPProSP2
建模工具:RationalRose2003
数据库系统:SQLServer2005
开发工具:
Web服务器:IIS+

:
该系统所要实现的功能以下:
1)“橡皮”的功能:用来画出的图形。
2)“铅笔”的功能:用来画出的随意直线。
3)“直线”的功能:用来让用户更好的画出的直线。
4)“字体”的功能:用来让用户写出自己的字体。
5)“多边形”的功能:用来让用户更好的画出的多边形。
6)“椭圆”的功能:用来让用户更好的画出的椭圆。
7)“圆角矩形”、“矩形”、“选择颜色”等功能:用来让用户更好的适用该绘图板功能。
:
Windows绘图板主假如为用户供给基本绘图工具。所以以供给用户最需要的功能为目的。
设计性能以下:
让用户不论如何操作都能获取用户的目的,争取做到傻瓜都能使用该软件。
较windows绘图板增加了生成函数图象的功能,能实现绘制一些基本的图形组件(直线、
矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、增加文字等。
其余的实现了windows绘图板的大多数功能:铅笔、橡皮、刷子、直线、选择颜色等等功能。
精选文档
精选文档
8
精选文档
4
精选文档
精选文档
16
精选文档
Windows绘图系统的设计与实现
用例图
用例图说明:
1)系统的外面角色有:paintings。
2)系统主要用例的文档描绘:
painting可见的功能,包含了pencil、word、circle、fillcircle、painting、rubber、filloval、filloval、fillrect、oval、line、reck。
类图
精选文档
精选文档
10
精选文档
精选文档
精选文档
16
精选文档
5
精选文档
精选文档
12
精选文档
Windows绘图系统的设计与实现
类图说明:
:
从图中能够看到,工具接口Tool定义了鼠标动作的四个方法,分别是拖动mouseDrapped()、挪动
mouseMoved()、松开mouseReleased()、按下mousePressed()、点击mouseClicked()五个动作,并用String类
型的常量属性来定义工具的种类。这个接口只有一个实现类AbstractTool,而每个工具类
都是去扩展AbstractTool类,在图中表现为Tool1、。

AbstractTool是Tool的实现类,也是一个抽像类,所以其实不可以被创办,只好被继承。此类实现Tool
中定义的全部方法,并扩展了其余方法,让其子类继承或许重写。该类中为其余的工具类供给了大多数的实现,那么它的子类就能够不用再做重复的实现,只关怀与本类有关的逻辑,
AbstractTool一共有ArrowTool(箭头)、PencilTool(铅笔)、BrushTool(刷子)、EraserTool(橡皮擦)、LineTool(直线)、RectTool(矩形)、PolygonTool(多边形)、RoundTool(椭圆形)、RoundRectTool(圆矩形)、AtomizerTool(喷墨)、ColorPickedTool(颜色选择)11个子类,
界面类ImageFrame
这个绘图工具的界面的主要放在这个类中实现
业务逻辑类ImageService
除鼠标的绘图功能外(绘图功能由Tool的实现类达成),初始化画板、图片的新建翻开与保留、各样面板的显示与隐蔽、颜色的编写、整个界面的刷新、菜单等业务逻辑都放在这个类中实现,
对象,它并无保留一些状态属性。

ImageFileChooser类继承了JFleChooser类,JFleChooser是Java供给的一个简单的文件选择系统,我
们这里扩展这个类,是为了增加我们自己的文件过滤器。


1)此程序为实现这些功能模块,一定第一定义一个工具面板,将这些画笔、画箭头、椭圆、圆、多边形直线、画矩形、画笔颜色、画笔大小、橡皮等功能组件放入这个工具面板中。
(2)此程序为实现利用鼠标做画笔的功能,必会产生鼠标事件MouseEvent。所以,为实现鼠标绘图的
功能,一定用到鼠标触发事件,故在此程序中,一定实现“拜托事件模型”,用到事件源、事件对象以及监听者对象。
3)此程序中,一定用到的包以下:.*;
.*;
.*;
.*;
.*;
.*;
(4)需用到的类
classDrawPad
这个类是主类,是程序得以运转的进口。在这个主类中定义了主方法,是该程序履行的进口。
classSimpleDrawPad
此类用于实现这个程序的大多数功能,在这个类中除了定义一些基本变量以及结构函数外,还定义了很多成员方法,这些成员方法将实现鼠标触发事件的一系列绘图功能。
classButtonDealer(SimpleDrawPad内部类)
按钮侦听器ButtonDealer类,内部类,用来侦听基本按钮的操作。
classButtonDealer1(SimpleDrawPad内部类)
精选文档
精选文档
13
精选文档
6
精选文档
精选文档
16
精选文档
Windows绘图系统的设计与实现
按钮侦听器ButtonDealer1类,用来侦听颜色选择、画笔粗细设置、文字输入按钮的操作。
classmouseA(SimpleDrawPad内部类)
鼠标事件mouseA类,继承了MouseAdapter,用来达成鼠标相应事件操作。
classmouseB(SimpleDrawPad内部类)
鼠标事件mouseB类继承了MouseMotionAdapter,用来达成鼠标拖动和鼠标挪动时的相应操作。
classcheckBoxHandler(SimpleDrawPad内部类)
选择字体风格时候用到的事件侦听器类,加入到字体风格的选择框中
classDrawPanel(SimpleDrawPad内部类)
绘图面板类,用来绘图。
classdrawings
定义绘图的基本图形单元。
classLine
继承classdrawings实现画直线功能。
classRect
继承classdrawings实现画矩形功能。
classfillRect
继承classdrawings实现画实心矩形功能。
classOval
继承classdrawings实现画椭圆功能。
classfillOval
继承classdrawings实现画实心椭圆功能。
classCircle
继承classdrawings实现画圆功能。
classfillCircle
继承classdrawings实现画实心圆功能。
classPencil
继承classdrawings实现自定义绘画功能。
classRubber
继承classdrawings实现除掉图案功能。
classword
继承classdrawings实现输入文字功能。

主窗体的设计:主类(painter)用来生成主界面,达成绘图板的主要框架。主类由JFrame派生出来。主界
面由菜单栏、工具栏和绘图地区三部分构成,布局格式采纳BorderLayout布局形式。
菜单栏的设计。菜单栏包含文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。此中文件菜单栏包含文件的新建、翻开、保留等选项;颜色菜单栏能够进行颜色选择;线条粗细菜单栏设置线条的粗细;
提示菜单栏给出提示信息。
工具栏由新建、翻开和保留文件按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框构成。主类中增加并对菜单栏和工具栏增加事件监听。
事件响应的办理。
对菜单栏、工具栏和用鼠标绘图的事件响应进行办理。
菜单栏中文件的新建、翻开和保留菜单事件的办理:Java把每个文件都视作次序字节流。假如要在Java
中进行文件办理,。这个包定义了一些流类,采纳FileInputStream(从文件中读入
数据)和FIleOutputStream(向文件输出数据),经过成立这些文件的对象便能够翻开文件。这些流相应地
从InputStream和OutputStream派生,这些文件均使用文件流,所以一定将文件结构化以适应程序的要求。
精选文档
精选文档
15
精选文档
7
精选文档
精选文档
16
精选文档
Windows绘图系统的设计与实现
我们需要对保留的对象序列化,而后以输出流的方式保留。在程序顶用newFile()、loadFile()和saveFile()三个函数分别实现文件的新建、翻开和保留。
工具栏事件的办理:主要有一些Button构成。我们用ButtonHandler内部类办理基本单元事件,
ButtonHandler1内部类办理新建、翻开和保留文件按钮,在绘图类DrawPanel中定义CreateNewItem()
函数办理工具栏中的绘图事件。
鼠标绘图:因为绘图板主假如用来绘图,所以需要在程序中增加对鼠标按下、拖动、进入、退出、挪动
和单机事件进行监听并进行办理。内部类mouseA定义了达成鼠标按下、松开、进入、退失事件响应。内
部类mouseB达成鼠标拖动和挪动事件响应。
绘图的基本功能。在程序设计顶用到了动向绑定,我们能够提取他们的公共属性,先成立一个父类,然
后成立各个子类,继承父类中的方法并将父类中的draw函数重写。一些对于图形形状的类,最主假如用
于绘图、字体和橡皮擦等基本种类。如Circle、Triangle、Rectangle,它们都是有超类(Object类)派生的。
在面向对象编程中,每个类都有画出自己的能力,每个类都有自己的draw函数,但每种形状的draw函
数都不一样样,但在绘制任何形状时,只需简单一用父类drawing的draw方法,而后让程序动向地依据对
象的种类决定使用哪个子类的draw方法。为了使画出的图形更为雅观,我们在draw函数中使用了
Graphics2D的对象的引用。这样能够在不改变原程序的状况下,增加扩展的图形,是程序变得更为强盛。
同时,为了文件的保留,父类实现Serialize接口,将对象线性化。

精选文档
精选文档
17
精选文档
8
精选文档
精选文档
16
精选文档