目 录
1 课题介绍 1
1.1 课程设计目的 1
1.2 课程设计要求 1
1.3 课程设计主要知识点 1
2 总体设计2
2.1 画板界面设计图2
2.2 模块概述2
2.2.1 文件操作2
2.2.2 图形绘制2
3 详细设计与实现4
3.1 框架类DrawGraphic4
3.1.1菜单4
3.1.2工具栏6
3.1.3画图区域7
3.2 基本图形类 10
3.2.1 父类Drawings 10
3.2.2 子类 (只列出部分) 10
4 设计中的难点 12
4.1多态与动态绑定 12
4.2重绘的理解 12
4.3文件的新建、打开和保存 12
5 运行测试 13
6 总结 15
参考文献 16
模拟画图 1
1 课题介绍
1.1 课程设计目的
课程设计题目:模拟画图
要求设计一个程序,模拟Windows中的画图程序,实现图形图像的编辑,修
改,保存等功能。
1.2 课程设计要求
(1)程序中必须包括 “新建”、“打开”、“保存”,用户可以选择,实现对文
件的操作;
(2)画图板的绘图按钮用来画出不同的图形,包括实心图形和空心的图形;
(3)可以对线条的颜色和粗细进行设置,也可以对填充图形的颜色进行设
置和更改。
1.3 课程设计主要知识点
(1)框架类DrawGraphic继承了Swing类库中JFrame,并且用到JButton,
JLabel,JPanel,等Swing类库中的组件进行窗体设计;
(2)选择一个文件,用到组件JFileChooser;
(3)选择颜色,用到组件JColorChooser;
(4)弹出标准对话框,用到组件JOptionPane;
(5)在单击绘图按钮时,所触发的动作通过方法addActionListener和
ActionListener接口的actionPerformed方法共同实现;
(6)MouseAdapter和MouseMotionAdapter用来完成鼠标各种事件的相应
操作,包括单击、移动、拖拽等;
(7)在界面设计的时候结合BorderLayout和GridLayout两种布局格式;
(8)在添加监听器的时候有用到内部匿名类和内部类,所以要熟悉它们的
构造方法和使用方法,从中体会持有对方引用的这一设计思想。
(9)在图形绘制的时候,用到Graphics类,其揭示了所有图形系统几乎都
采用的一种机制,就是如何在窗口上画出一些图形来,当窗口构造出来的时候里
面有一支画笔,即Graphics的一个对象,当窗口调用paint方法的时候,系统
会把画笔自动传递给它,拿到画笔,重写paint方法就实现了在窗口上绘制基本
图形。
模拟画图 2
2 总体设计
2.1 画板界面设计图
定义框架类DrawGraphic,然后在框架上直接添加菜单栏,整个框架采用
BorderLayout的布局格式。工具栏、显示鼠标位置的标签、主要的画图区域分
别在框架的west,south,center三块区域。而浮动式工具栏采用的是GridLayout
布局格式,其初始方向设定为VERTICAL,如下图所示:
2.2 模块概述
2.2.1 文件操作
文件的新建,打开,保存可以添加内部匿名类的方式实现,new一个事件监
听器ActionListener,里面调用actionPerformed的方法,被监听的按钮一旦
被触发就调用函数执行相应的操作。
2.2.2 图形绘制