华 北 科 技 学 院
课程设计说明书
计算 B092
班级:
学号: 200909014217 姓名: 李 宁
设计题目:
画图板软件开发和设计
设计时间:
2012.12.26 至 2012.12.30
指导教师:
评 语:
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:__ __评阅教师:__ ___
杨 阳
《Java 程序设计》课程设计报告
目 录
1 引 言........................................................................................................................ 1
1.1 课程设计选题....................................................................................................1
1.2 课程设计的目的................................................................................................1
1.3 本选题的设计背景............................................................................................ 1
2 需求分析.................................................................................................................... 1
2.1 功能需求...........................................................................................................1
2.2 软件开发运行环境........................................................................................... 1
3 总体设计.................................................................................................................... 2
3.1 软件结构设计...................................................................................................2
3.1.1 结构设计.................................................................................................2
3.2 软件功能模块及主要类设计.............................................................................2
3.2.1 功能描述..................................................................................................2
3.2.2 总体结构图..............................................................................................3
3.2.3 主要类设计..............................................................................................3
4 详细设计与实现.........................................................................................................4
4.1 主界面.............................................................................................................. 4
4.1.1 主界面功能设计...................................................................................... 4
4.1.2 主界面设计..............................................................................................4
4.1.3 主界面主要代码...................................................................................... 5
4.2 菜单栏.............................................................................................................. 6
4.2.1 菜单栏功能设计...................................................................................... 6
4.2.2 菜单栏界面设计...................................................................................... 6
4.2.3 菜单栏主要代码...................................................................................... 9
4.3 工具栏............................................................................................................ 10
4.3.1 工具栏功能设计.................................................................................... 10
-II-
《Java 程序设计》课程设计报告
4.3.2 工具栏界面设计.................................................................................... 10
4.3.3 工具栏主要代码.................................................................................... 10
4.4 画图区............................................................................................................ 11
4.4.1 画图区功能设计.................................................................................... 11
4.4.2 画图区界面设计.................................................................................... 12
4.4.3 画图区主要代码.................................................................................... 12
4.5 状态栏............................................................................................................ 12
4.5.1 状态栏功能设计.................................................................................... 12
4.5.2 状态栏设计............................................................................................12
4.5.3 状态栏代码............................................................................................12
5 小结和展望...............................................................................................................13
参 考 文 献.................................................................................................................14
附 录............................................................................................................................ 15
使用说明书........................................................................................................... 15
源程序清单........................................................................................................... 15
-III-
《Java 程序设计》课程设计报告
1 引 言
1.1 课程设计选题
《画图板软件开发和设计》
1.2 课程设计的目的
巩固和加深以 Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动
手编程能力的培养,掌握以 Java 为核心的应用软件开发方案,达到能独立阅读、编制
和调试一定规模的 Java 程序的水平。
1.3 本选题的设计背景
日常生活、学习中我们经常需要画图,简单的画图我们可以手工画图,但往往还是
不能满足需求。因此,借助计算机准确而快速的画图就十分有必要了。好的画图工具能
够很好的完成日常生活中的各种画图工作。
学习了 Java 语言后设计开发一个画图软件是对 Java 语言学习的巩固以及提高。能够
在实践中更深的理解面向对象语言,同时提高了解决问题的能力。
2 需求分析
2.1 功能需求
考虑到画图板的实际需要,画图板要实现打开、保存图片,用于打开本地图片或保
存当前图片至本地;选择需要绘制的图形,用于选择需要绘制的图形样式,如直线、矩
形、椭圆等;设置背景色、画笔色以及画笔大小,用于设置画板背景颜色、画笔颜色和
当前画笔粗细;擦除错误操作;显示帮助信息等。
2.2 软件开发运行环境
本软件开发平台: Java SE
本软件集成开发环境: MyEclipse9.1
本软件运行环境: Windows xp 或以上版本
-1-
《Java 程序设计》课程设计报告
3 总体设计
3.1 软件结构设计
3.1.1 结构设计
① 菜单栏的设计及功能实现:菜单栏主要包括文件、编辑、设置、帮助等常见菜
单。其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有撤销、
恢复等功能;设置菜单含有对画笔颜色、画笔大小等的设置功能;帮助菜单提供画
图板的帮助信息。
② 画图区的设计:对图片的编辑处理区。
③ 工具栏的设计:根据实际需要选择不同的工具完成画图操作。
④ 其他功能设计。
3.2 软件功能模块及主要类设计
3.2.1 功能描述
本软件可以绘制日常生活、学习中的一般图形。软件主要有菜单栏、工具栏、画图
区组成,菜单栏具有新建、打开、保存等常见的功能;工具栏可以选择用户需要的图形
样式、设置参数、插入文本等操作;画图区就是简单绘图区域,用户在画图区可自由绘
制图形。右击工具栏可设置工具是否可拖动。还可以根据不同的需要设置背景色,画笔
大小、画笔颜色。能够在任意点添加文字并设置文字样式和字体。
-2-
《Java 程序设计》课程设计报告
3.2.2 总体结构图
文件
编辑
设置
帮助
菜单栏
鼠标状态
状态栏
画图区
新建
打开
保存
文
件
操
作
设
置
工具栏
形状选择
背景色
画笔色
画笔大小
文字样式
自由
直线
矩形
圆
立方体
图 3.2.1 画图板总体结构图
3.2.3 主要类设计
(1) Paint 类
Paint 类为主类,定义 main 方法;
(2) MyPaint 类
MyPaint 类继承 JFrame 类,用于实现画图板的总体构架。包括菜单栏设计、工
具栏设计、画图区创建、鼠标事件等等。画图板的基本功能都靠 MyPaint 类来实现。
(3) DrawPanel 类
DrawPanel 来是 MyPaint 类的内部类,是用来画图的。
(4) drawings 类
drawings 类是画图类,基本图形的单元。其各个子类用以实现画各种图形包
括以下几个子类:
-3-
《Java 程序设计》课程设计报告
1.Line 类:绘制直线;
2. Rect 类:绘制矩形;
3.fillRect:绘制实心矩形;
4.Oval 类:绘制椭圆;
5.fillOval 类:绘制实心椭圆;
6.Circle 类:绘制圆;
7.fillCircle 类:绘制实心圆;
8.RoundRect:绘制圆角矩形;
9.fillRoundRect 类:绘制实心圆角矩形;
10.Pencil 类:自由笔;
11. Rect3D 类:绘制 3D 矩形;
12.fillRect3D 类:绘制实现 3D 矩形;
13.Cube 类:绘制立方体;
14.Rubber 类:橡皮类;
15. Word 类:文本类;
4 详细设计与实现
4.1 主界面
4.1.1 主界面功能设计
画图板的主界面分为菜单栏、工具栏、画图区、状态栏四部分。其中,菜单栏实现
了图片的打开、新建、保存等操作;工具栏实现了画笔的各种操作;画图区实现了图片
的操作面板;状态栏实现了显示鼠标当前状态。
4.1.2 主界面设计
画图板的主界面如图所示,在主类中加载了系统风格,使其界面更为美观;为工具
栏和工具栏按钮添加了颜色,使画图板颜色不单调;为画图板得主窗口设置图标,使画
图板更有个性。在实现画图功能的基础上使其外观更为人性化。
-4-
《Java 程序设计》课程设计报告
图 4.1.1 主界面图
4.1.3 主界面主要代码
① 设置窗体图标:
Toolkit kit=Toolkit.getDefaultToolkit();
Image image=kit.getImage("Icons/Title.jpg");
setIconImage(image);
//设置窗体图标
//获取 Toolkit 实例
//获取图片
② 加载系统风格:
try {
UIManager.setLookAndFeel(UIManager.
getSystemLookAndFeelClassName());
//加载系统界面风格
}
catch (Exception e){
}
③ 设置鼠标样式:
setCursor(new Cursor(Cursor.HAND_CURSOR));
//设置画图板鼠标样式
④ 背景色:
setBackground(new Color(0,255,0));
-5-