小小画图板开发——JAVA课程设计报告

上传人:jiups****uk12 文档编号:40017744 上传时间:2018-05-22 格式:DOC 页数:32 大小:327.50KB
返回 下载 相关 举报
小小画图板开发——JAVA课程设计报告_第1页
第1页 / 共32页
小小画图板开发——JAVA课程设计报告_第2页
第2页 / 共32页
小小画图板开发——JAVA课程设计报告_第3页
第3页 / 共32页
小小画图板开发——JAVA课程设计报告_第4页
第4页 / 共32页
小小画图板开发——JAVA课程设计报告_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《小小画图板开发——JAVA课程设计报告》由会员分享,可在线阅读,更多相关《小小画图板开发——JAVA课程设计报告(32页珍藏版)》请在金锄头文库上搜索。

1、移动互联开发移动互联开发课程设计报告课程设计报告题目:小小画图板开发题目:小小画图板开发班班 级:级:姓姓 名:名:学学 号:号: 组组 员:员:目录目录一:程序设计的目的和意义一:程序设计的目的和意义二:程序设计:二:程序设计:(一):程序基本组成框架和结构(一):程序基本组成框架和结构(二):画图板相关操作(二):画图板相关操作三:系统功能设计分析三:系统功能设计分析四:程序结构说明四:程序结构说明五:程序绘图效果示意图五:程序绘图效果示意图六:程序源代码及其分析说明六:程序源代码及其分析说明七:总结七:总结小小画图板开发小小画图板开发一一 :程序设计的目的和意义:程序设计的目的和意义用过

2、微软 Windows 操作系统的人一定都对 Windows 自带的画图板非常的熟悉。同图像处理软件界的“大哥大”Photoshop 比起来,它虽然不及 Photoshop 的功能强大、内容丰富,但是作为 Windows 一直以来都内带的附件程序,它具有小巧玲珑、简单实用等其它绘图软件所不具备的优点。同时它的风格也被许多其它绘图软件所效仿。通过本绘图程序的编写,我们可以看到如何运用自己已经掌握的知识,自己动手来完成一个 Java 绘图程序,通过整个流程的熟悉以及对程序组织结构和框架的理解,也可以极大的促进我们对 Java 程序和面向对象程序设计的认识和掌握。通过本次课程的学习,我们可以更加系统地

3、学习和了解如何从整体上设计和实现一个程序,这对我们今后学习、开发和设计更大更复杂的程序有着很大的帮助。二二 :程序设计:程序设计本程序完成的是一个类似于 Windows 画图板的绘图程序。由于不是开发和设计专业的绘图和图像制作软件,所以,完成的程序的简单功能包括以下几项:1.新建一个空白图形文件:用于绘制新的图形。2.打开或保存一个图形文件,便于对图形文件的管理。3.绘制一些基本的画图组件:直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等。4.可以用鼠标在绘图面板上单击拖动进行随笔画。5.橡皮擦:可以将已绘制好的图形擦掉。6.添加文字:可以在绘图区域内添加文字。7.选

4、择文字的字体:通过一个下拉式的选择条,可以选中所需要的字体。本程序中包括:宋体、隶书、华文彩云、仿宋_GB2312、华文行楷、方正舒体、Times New Roman、Serif、Monospaced、SonsSerif、Garamond。当然,在下面的的程序分析中可以看到,由于我们灵活设置了字体数组,是的可以随意添加系统支持的任何字体。大大方便和简化了程序设计。8.选择文字的字体风格:通过两个复选框按钮,可以选择需要的字体风格,包括:粗体、斜体,使用者有三种选择方式,包括:同时选中两者、只选择其中一种、两者都不选中。9.设置画笔的颜色:可以选择当前绘制图形的画笔颜色,让图形更加丰富多彩、生动

5、活泼。10. 设置画笔的粗细:该选项在作用于基本图形组件和文字时,它的效果是不一样的。当作用于绘制图形组件时,它的作用是改变画笔绘制线条的粗细;当作用于文字时,它的作用是改变文字的大小。由此可以看到,虽然我们的画图板程序不及那些专业的绘图程序,但是, “麻雀虽小,五脏俱全” ,它已经具备了一个绘图软件所应该有的基本功能和操作。通过对本程序的分析,我们可以更加系统地学习和了解如何从整体上设计和实现一个程序。(一):程序基本组成框架和结构1.一组基本图形按钮,包括:Pencil(随笔画) 、Line(直线) 、Rect(矩形) 、FRect(实心矩形) 、Oval(椭圆) 、FOval(实心椭圆)

6、 、Circle(圆) 、FCircle(实心圆) 、RoundRect(圆角矩形) 、FrRect(实心圆角矩形) 、Rubber(橡皮擦) 、Word(文字) 。这些基本图形都继承于同一个父类:drawings。drawings 具有变量(属性):int x1,x2,y1,y2; /用来存放相应图形元素的坐标int R,G,B; /用来存放图形色彩颜色信息float stroke; /用来存放画笔粗细int type; /用来保存图形类型String s1; /用来保存输入文字字符串String s2; /用来保存字体类型字符串同时,drawing 还具有方法:void draw ( Gr

7、aphics2D g2d ) ;draw()方法中用到了 Java 绘图里面的 Graphics2D 类,所有继承 drawings 类的图形子类都重写了此方法。这就是 Java 程序中类的继承的概念。它对于程序代码的重用是很重要的,将极大的方便和简略程序代码。2.此外,程序中还包括一下三个基本操作按钮:新建(New):新建一个图形文件。打开(Open):打开一个图形文件。保存(Save):保存当前图形文件。3.选择颜色和设置当前画笔粗细的按钮分别为:颜色(Color) 、线条粗细(Stroke) 。4.选择当前字体风格的选择框为:粗体(BOLD) 、斜体(ITALIC) ,用以设置当前字体的

8、风格。5.选择当前字体的下拉式复选框为:Styles。6.菜单条及其组成:文件(File)菜单项,包括:New(新建一个图形文件) 、Load(打开一个图形文件) 、Save(保存当前图形文件) 、Exit(退出程序) 。颜色(Color)菜单项:用来设置当前颜色。线条粗细(Stroke)菜单项:用来设置当前画笔粗细。帮助(Help)菜单项:有关的程序帮助提示。完成的程序界面效果如下图:(二):画图板相关操作1.新建一个图形文件单击工具栏上的图标,或选择 FileNew 菜单,则清除当前所绘制的图像,回到初始画面。2.打开已有的文件单击工具栏上的图标,或选择 FileLoad 菜单,则清除当前

9、所绘制的图像,并弹出打开文件对话框要求选择要打开的文件。如下图:3.保存单击工具栏上的图标,或选择 FileSave 菜单,则弹出要求保存文件对话框。如下图:4.绘制基本图形基本图形包括以下几种:Pencil:随笔画,图标为:。Line:直线,图标为:。Rect:矩形,图标为:。FRect:实心矩形,图标为:。Oval:椭圆,图标为:。FOval:实心椭圆,图标为:。Circle:圆,图标为:。FCircle:实心圆,图标为:。RoundRect:圆角矩形,图标为:。FrRect:实心圆角矩形,图标为:。Rubber:橡皮擦,图标为:。绘图时,单击工具栏上相应图形的图标,然后用鼠标拖动,在绘图

10、区域内进行绘图即可。5.设置画笔大小单击工具栏上的图标,或单击 StrokeSet Stroke 菜单,则弹出相应的设置当前画笔粗细对话框。如下图:6.选择颜色单击工具栏区域,或单击 ColorChoose Color 菜单,则弹出相应的选择当前画图颜色对话框。如下图:7.选择字体风格在工具栏区域 ,可以选择相应的字体风格,有粗体、斜体和粗斜体三种可供选择。8.选择字体在工具栏区域,可以选择字体,本程序中有如下几种字体可供选择:宋体、隶书、华文彩云、仿宋_GB2312、华文行楷、方正舒体、Time New Roman、Serif、Monospaced、SonsSerif、Garamond。三三

11、 :系统功能设计分析:系统功能设计分析画板主要由以下几个部分组成:1.主窗体的设计主窗体的设计。主类(QingDrawPad)用来生成主界面,完成画图板的主要框架。主类由 JFrame 派生出来。主界面由菜单栏、工具栏和画图区域三部分组成,布局格式采用 BorderLayout 布局形式。2.菜单栏和工具栏的设计菜单栏和工具栏的设计。菜单栏包括文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。其中文件菜单栏包括文件的新建、打开、保存等选项;颜色菜单栏可以进行颜色选择;线条粗细菜单栏设置线条的粗细;提示菜单栏给出提示信息。工具栏由新建、打开和保存文件按钮、基本图形的按钮、选择字体风格复选框和字

12、体下拉列表框组成。在主类中添加并对菜单栏和工具栏添加事件监听。3.事件响应的处理事件响应的处理。对菜单栏、工具栏和用鼠标画图的事件响应进行处理。菜单栏中文件的新建、打开和保存菜单事件的处理:Java 把每个文件都视作顺序字节流。如果要在 Java 中进行文件处理,则必须用到 Java.io 包。这个包定义了一些流类,选用 FileInputStream(从文件中读入数据)和FIleOutputStream(向文件输出数据) ,通过建立这些文件的对象便可以打开文件。这些流相应地从 InputStream 和 OutputStream 派生,这些文件均使用文件流,所以必须将文件结构化以适应程序的要

13、求。我们需要对保存的对象序列化,然后以输出流的方式保存。在程序中用 newFile() 、loadFile()和 saveFile()三个函数分别实现文件的新建、打开和保存。工具栏事件的处理:主要有一些 Button 组成。我们用ButtonHandler 内部类处理基本单元事件,ButtonHandler1 内部类处理新建、打开和保存文件按钮,在画图类 DrawPanel 中定义 CreateNewItem()函数处理工具栏中的画图事件。鼠标画图:由于画图板主要是用来画图,所以需要在程序中添加对鼠标按下、拖动、进入、退出、移动和单机事件进行监听并进行处理。内部类 mouseA定义了完成鼠标按

14、下、松开、进入、退出事件响应。内部类 mouseB 完成鼠标拖动和移动事件响应。4.画图的基本功能画图的基本功能。在程序设计中用到了动态绑定,我们可以提取他们的公共属性,先建立一个父类,然后建立各个子类,继承父类中的方法并将父类中的draw 函数重写。一些关于图形形状的类,最主要是用于画图、字体和橡皮擦等基本类型。如 Circle、Triangle、Rectangle,它们都是有超类(Object 类)派生的。在面向对象编程中,每个类都有画出自己的能力,每个类都有自己的 draw 函数,但每种形状的draw 函数都不一样,但在绘制任何形状时,只需简单调用父类 drawing 的 draw 方法

15、,然后让程序动态地根据对象的类型决定使用哪个子类的 draw 方法。为了使画出的图形更加美观,我们在 draw 函数中使用了 Graphics2D 的对象的引用。这样可以在不改变原程序的情况下,添加扩展的图形,是程序变得更加强大。同时,为了文件的保存,父类实现 Serialize 接口,将对象线性化。四四 :程序结构说明:程序结构说明本程序主体为一个文件:QingDrawPad.java。其中包括的程序段有: QingDrawPad():构造函数,用以初始化。 chooseColor():选择当前绘图颜色程序段。 setStroke():设置当前画笔粗细程序段。 loadFile():调用图形

16、文件程序段。 newFile():新建一个图形文件程序段。 saveFile():保存当前所绘制图形程序段。 creatNewItem():新建一个基本图形单元程序段。相应的内部类有: ButtonHandler:用来处理基本图形单元的按钮事件。 ButtonHandler1:用来处理 New、Open、Save 三个操作按钮的按钮事件。 DrawPanel:用来创建绘图区域的子类。 MouseA:继承了 MouseAdapter,用来完成鼠标相应事件的操作,如单击、松开、进入和离开等。 MouseB:继承了 MouseMotionAdapter,用来完成鼠标拖动和鼠标移动的相应事件操作。此外,还继承了父类 drawings 的基本图形子类,如前所述,这里不再重复。五五 :程序绘图效果示意图:程序绘图效果示意图我们可以看到,整个程序界面

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号