目录

  • 面向对象程序设计 (Java)学年课程报告
  • 一 、 需求分析
  • 二 、详细设计 (类图)
  • 1 设计分析
  • 2 程序系统结构分析图
  • 3.程序结构流程图
  • 4.结构流程图
  • 三、交互界面设计
  • 四、程序操作方法和效果


面向对象程序设计 (Java)学年课程报告

链接: Java画板GUI课程设计源代码及实验报告链接

一 、 需求分析

程序由一个主窗口构成,主窗口中主要显示一个绘制区域, 用
户的所有绘制操作都在绘制区域中完成;在窗口内或者窗口外可以通 过创建菜单、创建子面板等方式为用户提供画板相关功能的选择按钮、 设置项或者菜单选项;或者使用命令行给用户提供选择绘制图形、设
置颜色等功能的选项 ,但绘制操作还需要在窗口中完成;
该画板中可以绘制的图形包括圆形 (含椭圆) 、矩形 (含正方 形) 、直线和点,每个图形都需要保存位置、大小几何属性及是否填 充 、填充颜色 、是否绘制边框和边框颜色等必要属性,用户通过选择 按钮或者菜单项选中要绘制的图形,并且设置边框 、填充属性,然后 在绘制区域中通过鼠标拖放的方式创建图形;
所有图形按照创建顺序和属性值绘制在绘制区域中,位置出
现重叠的图形后绘制的要覆盖先绘制图形区域的内容;
形大小可不需要修改 ( 如可实现图形大小的修改, 则有额外加分) ; 可以通过菜单或者按钮选择的方式, 设置所有绘制图形的面积和周
长显示/ 不显示在图形中心位置, 文字颜色选择和填充颜色要 具有对比性;

二 、详细设计 (类图)

1 设计分析

为 了实现绘制矩形 、 圆形 、椭圆 、 多边形 、直线 、等基本图形,在此程序中定义

几种图形类, 实现编写的一 个重绘接 口。

2.在用户界面 GUI 类中, 继承了JFrame 类, 添加各种按钮 、 两个面板, 分别用 来画图和存放按钮组件,界面采用流式布局,为组件添加编写好的事件监听机制。
3. 在事件监听 DrawListener 类中 实现 了 MouseListener MouseMotionListener 、 ActionListener 监听接 口, 并重写其绘图方法。

4.在事件监听类中, 定义一 个字符串 str 用来储存按钮按下时上面的内容,如果 无文字, 则判断为颜色按钮 ,把画笔颜色 color 设置为按钮颜色; 有文字的话根 据按钮文字的不同, 去调用不同的图形类方法, 并在绘制图形后保存在集合中。 5.在界面 GUI 类中调用 DrawListener 类, 新建 draw 引 用, 为每个按钮添加该事 件引用并调用ArrayList 集合类, 遍历所绘制的图形类, 进行重绘。

2 程序系统结构分析图

Java简单绘图板 java画图板代码实验报告_Java简单绘图板

3.程序结构流程图

Java简单绘图板 java画图板代码实验报告_Java简单绘图板_02

4.结构流程图

Java简单绘图板 java画图板代码实验报告_开发语言_03


Java简单绘图板 java画图板代码实验报告_Java简单绘图板_04

三、交互界面设计

分别构造不同的图形类: 直线类(reline)、实矩形类(refilljuxing)、曲线类(requxian)、 射线类(reshexian) 、 矩形类(rejuxing) 、 折线类(rezhexian) 、椭圆类(retuoyuan) 、 实椭圆类(refilltuoyuan)。
每个图形类都实现 NetJavaShape 接口中的 redraw()方法,每个方法中根据形状 选择不同的绘制方法函数。
每个类可以在事件监听类中新建不同的对象引用,根据按钮选择不同可以调 用不同的图形类画法。
部分代码

举例绘制圆
class reyuanxian implements NetJavaShape {                //实现重绘圆形图形
	Graphics g ;
	int x, y, x1, y1, x2, y2 ;
	Color color ;

	public reyuanxian(Graphics g, int x1, int y1, int x2, int y2, Color color) {
		this.g = g ;
		this.x1 = x1 ;
		this.y1 = y1;
		this.x2 = x2;
		this.y2 = y2;
		this.color = color;
}
	@Override
	public void redraw() { //实现接口
	方法进行曲线绘制
		g.setColor(color);
		double
		r=(Math.pow(Math.pow((x1-x2),2.0)+Math.pow((y1-y2),2.0),0.5));
		double n=Math.abs(Math.pow(r,2)*Math.PI);
		String str = "x=" + x1+ " y=" + y1+" area="+(int)n;
		g.drawString(str,x1,y1);
		g.drawOval(x1,y1,(int)r,(int)r);
		}
}

四、程序操作方法和效果

1.在GUI主程序中运行代码

Java简单绘图板 java画图板代码实验报告_开发语言_05


2. 先点击要绘制图形的颜色

3. 点击蓝色,

4. 点击要画的图片的按钮,在左边空白区域拖拽即可

5. 左上角会显示图形的基本信息坐标,面积,长度等

Java简单绘图板 java画图板代码实验报告_课程设计_06


6. 更换颜色,点击不同的颜色按钮,重复上述操作

Java简单绘图板 java画图板代码实验报告_javascript_07


7. 使用橡皮擦,点击橡皮擦,在左边用鼠标长按划过需要清除的部分

Java简单绘图板 java画图板代码实验报告_开发语言_08


8. 擦除面板,点击擦除面板按钮,再点击左边面板区域,清空面板

Java简单绘图板 java画图板代码实验报告_java_09


Java简单绘图板 java画图板代码实验报告_课程设计_10


Java简单绘图板 java画图板代码实验报告_开发语言_11