简易画图板介绍

一.功能结构图

二.主类设计

1.总体设计:在设计简易画图板时,根据程序功能的分类,包含了十二个文件,包括SimpleDraw.java,MenuContainer.java,DrawPanel.java,Drawings.java,DrawBtnListener.java,ToolBtnListener.java,NewFileListener.java,LoadFileListener.java

SaveFileListener.java,CheckBoxList.java,MouseA.java,MouseB.java.

2.SimpleDraw.java

该文件包含一个public SimpleDraw类,该类封装了画图板的界面和按钮的监听事件。

3.MenuContainer.java

该文件包含了一个public MenuContainer类,,该类封装了菜单栏创建的各种方法。

4.DrawPanel.java

该文件包含一个public DrawPanel的画图面板类,封装了画图区域的初始状态并且增加了鼠标事件监听,用来画图。

5.Drawings.java

该文件包含一个public Drawings类,实现了序列化接口,封装其他基本的图形单元的通用属性,所有的画图操作都继承该类,同时重写画图方法drwa()

6.DrawBtnListener.java

该文件包含了一个public DrawBtnListener类,该类实现了ActionListener接口,主要功能是监听绘图相关操作按钮的的操作。

7.ToolBtnListener.java

该文件包含了一个public ToolBtnListener类,该类实现了ActionListener接口,主要功能是监听绘制工具栏部分那些绘图按钮的操作。

8.NewFileListener.java

该文件包含了一个public NewFileListener类,主要功能是新建一个空白的画图文件,初始化画图区域以及画笔,颜色等。

9.LoadFileListener.java

该文件包含了一个public LoadFileListener类,主要功能是处理打开文件的监听事件,主要是提供打开本地文件的对话框,可以选择本地的图片文件。

10.SaveFileListener.java

该文件包含了一个pubic SaveFileListener类,主要功能是处理保存文件的监听事件,主要是提供保存文件的对话框,可以选择本地路径,设置用户名,点击确定可以保存文件到本地。

11.CheckBoxList.java

该文件包含了一个public CheckBoxList类,主要功能是提供字体风格的选项。

12.MouseA.java

该文件包含了一个public MouseA类,主要用来画图时鼠标相应时间的监听和操作。

13.MouseB.java

该文件包含了一个public MouseB类,用来完成鼠标拖动和鼠标移动时的相应事件。

三.项目进展

本周的项目按照计划需要完成初步搭建框架结构,并且本周也给出了具体的项目结构图。后面根据设计构思和设计框架将对我们的Java代码进行调试和测试。

四.参考书籍

《Java项目开发实践》 中南大学出版社 2015年版

2015-2016-2《Java程序设计》团队博客2的更多相关文章

  1. 《Java 程序设计》团队博客第十一周(第一次)

    <Java 程序设计>团队博客第十一周(第一次) 团队项目 1.项目内容.目标 项目内容 本组的团队项目准备实现一个有关于大富翁有的游戏程序. 大富翁游戏,以经营权为主要的游戏方式,通过购 ...

  2. java课程设计--猜数字(团队博客)

    java课程设计--猜数字(团队博客) 1.团队名称以及团队成员介绍 团队名称:cz 团队成员:陈伟泽,詹昌锦 团队照片: 2.项目git地址 http://git.oschina.net/Devil ...

  3. Java课程设计博客(团队)

    Java课程设计博客(团队) 1. 团队/项目名称 使用JAVA实现简易HTTP服务器 2. 团队成员 组长:林一心 组员:张杭镖 3. 项目git地址 https://github.com/oran ...

  4. JAVA课程设计——团队博客

    JAVA课程设计--团队博客 1. 团队名称.团队成员介绍(需要有照片) 团队名称:"小羊吃蓝莓"小游戏 团队成员介绍: 成员 班级 学号 廖怡洁 网络1513 201521123 ...

  5. Java课程设计 学生基本信息管理系统 团队博客

    学生基本信息管理系统团队博客 项目git地址 https://git.oschina.net/Java_goddess/kechengsheji 项目git提交记录截图 项目功能架构图与主要功能流程图 ...

  6. 2014年团队博客TOP10

    2014年通过这个团队博客,葡萄城共输出了51篇原创技术博客(含翻译),总阅读超过9万人次,约有1万人次是通过RSS订阅方式阅读,总评论超过500人次. 这里我们通过阅读排序,选出2014年团队博客T ...

  7. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  8. We Talk -- 团队博客

    WeTalk --在线群聊程序 团队博客 服务器一直在运行,使用客户端可直接登入使用.(做得很粗糙...) 客户端下载(java环境下直接运行) 0.项目介绍 现在我们网上交流离不开微信和QQ,当然在 ...

  9. Java课程设计博客(个人)

    Java课程设计博客(个人) 1. 团队课程设计博客链接 http://www.cnblogs.com/wkfg/p/7063081.html 2. 个人负责模块或任务说明 负责模块/任务:编写doG ...

  10. [敏捷软工团队博客]The Agiles 团队介绍&团队采访

    项目 内容 课程:北航-2020-春-敏捷软工 博客园班级博客 作业要求 团队作业-团队介绍和采访 团队名称来源 The Agile is The Agile. 敏捷就是敏捷.我们只是敏捷的践行者罢了 ...

随机推荐

  1. python3基础之“术语表(2)”

    51.编程: 让计算机执行的指令. 52.代码: 让计算机执行的命令. 53.底层编程语言: 与高级语言相比,更接近二进制的语言. 54.高级编程语言: 读起来像英语的易于理解的语言. 55.汇编语言 ...

  2. 2647673 - HANA Installation Failure with signal 11 core dumped

    Symptom HANA 2.0 SPS03 installation using hdblcmgui failed due to the below error message. [Error] / ...

  3. Iris Network Traffic Analyzer嗅探器

    网卡配置 ftp测试

  4. idea安装与注册码破解

    idea安装与注册码破解 https://www.cnblogs.com/jajian/p/7989032.html

  5. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  6. Redis中如何发现并优化big key?

    Redis中的大key一直是重点需要优化的对象,big key既占用比较多的内存,也可能占用比较多的网卡资源,造成redis阻塞,因此我们需要找到这些big key进行优化 一.寻找big key 通 ...

  7. 编译安装 keepalived-2.0.16.tar.gz

    一.下载安装包 wget https://www.keepalived.org/software/keepalived-2.0.16.tar.gz 安装相关依赖 把所有的rpm包放在一个目录下. rp ...

  8. 18.centos7基础学习与积累-004-分区理论

    1.从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.常规分区:数据不是特别重要的业务(集群的某个节点) /boot  引导分区 ...

  9. Matplotlib:mpl_toolkits.mplot3d工具包

    简介 mpl_toolkits.mplot3d是Matplotlib里面专门用来画三维图的工具包,官方指南请点击此处<mplot3d tutorial> 使用 导入 使用from mpl_ ...

  10. 【Java并发编程之深入理解】Synchronized的使用

    原文:https://blog.csdn.net/zjy15203167987/article/details/82531772 1.为什么要使用synchronized 在并发编程中存在线程安全问题 ...