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

您所在的位置:网站首页 mapgis作图实验报告 Java简单绘图板 java画图板代码实验报告

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

2023-06-26 16:19| 来源: 网络整理| 查看: 265

目录面向对象程序设计 (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画图板代码实验报告_课程设计_02

4.结构流程图

Java简单绘图板 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画图板代码实验报告_javascript_06

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

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

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

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

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

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

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

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

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3