XI`AN TECHNOLOGICAL UNIVERSITY
实验报告
课程设计名称 画板软件
专
班
姓
学
业:
软件工程
级:
17060209
名:
杨路恒
号:
17060209117
指导教师:
徐飞
成
绩:
2018 年 6 月 26 日
西安工业大学课程设计
专业
软件工程
班级
17060209
姓名
杨路恒
学号
170602091
17
实验课程
画板软件
指导教师
徐飞
实验日期
2018.6.2
6
同实验者
徐飞
实验项目
实验设备
及器材
JAVA 实现画板软件
计算机
西安工业大学实验报告
1 设计任务书 .................................................................................................................................. 1
1.1 设计内容 .............................................................................................................................. 1
1.2 设计任务及具体要求 ..........................................................................................................1
1.3 软件开发运行环境 .............................................................................................................. 1
2 本组课题 ...................................................................................................................................... 1
2.1 课题 ...................................................................................................................................... 1
2.2 本人任务 .............................................................................................................................. 2
3 程序功能简介 ............................................................................................................................ 2
1.画板具体功能 ......................................................................................................................... 2
2.功能分析: ............................................................................................................................. 2
4 主体内容 .................................................................................................................................... 3
4.1 设计分析 .............................................................................................................................. 3
4.2 程序架构图 .......................................................................................................................... 4
4.2.1 系统结构分析图.......................................................................................................4
4.2.2 程序结构流程图.......................................................................................................5
4.2.3 结构流程图............................................................................................................... 6
4.3 模块功能与说明 .................................................................................................................. 7
4.4 源程序 ................................................................................................................................ 11
4.4.1Gui 类....................................................................................................................... 11
4.4.2DrawListener 类 .......................................................................................................14
4.4.3 接口图形类............................................................................................................. 19
4.5 操作方法 ............................................................................................................................ 25
4.6 实验结果 ............................................................................................................................ 25
4.7 设计体会 ............................................................................................................................ 27
西安工业大学课程设计
1 设计任务书
1.1 设计内容
学习了《Java 面向对象编程》的课程,为了更进一步的提高我们对 Java 的深
入学习,进行了课程设计,我所选择课程设计是利用 Java 的 GUI 实现画图应用
程度。其目的是通过本课程设计使我们能够较全面的掌握面向对象程序设计的有
关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自
身的编程能力。
运用 JAVA 语言,实现界面画板,进行简单图形绘制。
1.2 设计任务及具体要求
主要利用 java 语言设计开发一个小型的画图应用程序,至少具有如下功能:
可以进行绘画,有颜色的选择,可以绘制直线、曲线、椭圆、矩形,操作界面要
符合用户的一般习惯。
1.3 软件开发运行环境
本软件开发平台:JAVA
本软件开发环境:IntelliJ IDEA Community Edition 2018.1.4 x64
本软件运行平台:Windows 10
2 本组课题
2.1 课题
JAVA 绘图板课程设计。
1
西安工业大学课程设计
2.2 本人任务
1.编写画板界面。
2.添加组件监听、鼠标监听功能。
3.编写图形类的接口。
4.编写各种图形类并实现图形的重绘。
3 程序功能简介
1.画板具体功能
1)利用 Java 设计一个画图应用程序;
2)可绘制直线、曲线、椭圆、矩形;
3)可改变线条颜色;
2.功能分析:
用户可以在界面上通过点击各个不同的按钮,选择实现绘制的是哪种图形和颜色,
也可以清除画板,程序将自动把所绘制的图形类放在一个集合中,最大化和最小
化后遍历该集合,图形实现重绘。
画板画笔分为两种,一种是 Graphics,一种是 Graphics 2D。可以用来画基本图
形还有喷桶、橡皮擦效果。
2
西安工业大学课程设计
4 主体内容
4.1 设计分析
1.绘图工具已经广为使用,利用 JAVA 语言编写的画板可以满足基本的图形要求,
为了实现绘制矩形、圆形、椭圆、多边形、直线、曲线铅笔等基本图形,在此程
序中定义上述几种图形类,实现编写的一个重绘接口。
2.在用户界面 GUI 类中,继承了 JFrame 类,添加各种按钮、两个面板,分别用
来画图和存放按钮组件,界面采用流式布局,为组件添加编写好的事件监听机制。
3.在事件监听 DrawListener 类中实现了 MouseListener、MouseMotionListener、
ActionListener 监听接口,并重写其绘图方法。
4.在事件监听类中,定义一个字符串 str 用来储存按钮按下时上面的内容,如果
无文字,则判断为颜色按钮,把画笔颜色 color 设置为按钮颜色;有文字的话根
据按钮文字的不同,去调用不同的图形类方法,并在绘制图形后保存在集合中。
5.在界面 GUI 类中调用 DrawListener 类,新建 draw 引用,为每个按钮添加该事
件引用并调用 ArrayList 集合类,遍历所绘制的图形类,进行重绘。
3
西安工业大学课程设计
4.2 程序架构图
4.2.1 系统结构分析图
画图区
画笔颜色
笔刷
工具栏
设置
橡皮檫
清除面板
形状选择
矩形
实矩形 椭圆
实椭圆
直线
曲线
多边形
4
西安工业大学课程设计
4.2.2 程序结构流程图
NetJavaShape 接口
图形类
事件监听类
其它类
主界面类
5
4.2.3 结构流程图
西安工业大学课程设计
开始
Gui 类
点击按钮
DrawListener 类
NetJavaShape 接口
颜色类
判断
按钮
图形类
画图
结束
6