- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java画板课程设计报告
画板
一、需求分析
平时生活中,我们会需要处理一些基本的图像,也有可能需要花一些简单的图像,平时所使用的图形处理工具有 PhotoShop、Windows 画图工具等,其中PhotoShop 是一款非常强大的图形处理工具,Windows 画图工具则是一款较为简单的画图工具,功能较为简单,用Windows画图工具,是一种比较简单与具有代表性的画图工具,虽然功能不够强大,但具有大多图片处理程序所必需的基本功能:铅笔画图、各种数学函数图形、填色、取色、橡皮擦等等。这次试验中我做的就是一个仿照windows画板的程序。
功能: 1.利用graphics 类来向界面上画上相应内容
2.能够画出直线,矩形,多边形,椭圆形,圆矩形等
3.能够实现橡皮,刷子,喷枪等工具。
4.能够实验颜色的设置
5.能够保存图片和打开图片(当保存名一致时需提示)
6.界面尽量合理,可以仿照windows画板界面。
二、概要设计
流程图
画板软件类图
1.工具接口Tool:
从图中可以看到,工具接口Tool 定义了鼠标动作的四个方法,分别是拖动mouseDrapped()、移动mouseMoved()、松开mouseReleased()、按下mousePressed()、点击mouseClicked()五个动作,并用String 类型的常量属性来定义工具的类型。这个接口只有一个实现类AbstractTool,而每个工具类
都是去扩展AbstractTool 类,在图中表现为Tool1、Tool2…….ToolN。
2.Tool的实现类AbstractTool
AbstractTool 是Tool 的实现类,也是一个抽像类,所以并不能被创建,只能被继承。此类实现Tool
中定义的所有方法,并扩展了其它方法,让其子类继承或者重写。该类中为其他的工具类提供了大部分的实现,那么它的子类就可以不必再做重复的实现,只关心与本类相关的逻辑,
3.AbstractTool的子类
AbstractTool 一共有ArrowTool(箭头)、PencilTool(铅笔)、BrushTool(刷子)、EraserTool(橡皮擦)、LineTool (直线)、RectTool (矩形)、PolygonTool (多边形)、RoundTool (椭圆形)、RoundRectTool(圆矩形)、AtomizerTool(喷墨)、ColorPickedTool(颜色选择)11 个子类,
4. 界面类ImageFrame
这个画图工具的界面的主要放在这个类中实现
5. 业务逻辑类ImageService
除鼠标的画图功能外(画图功能由Tool 的实现类完成),初始化画板、图片的新建打开与保存、各种面板的显示与隐藏、颜色的编辑、整个界面的刷新、菜单等业务逻辑都放在这个类中实现,
对象,它并没有保存一些状态属性。
6 .文件选择类ImageFileChooser
ImageFileChooser 类继承了JFleChooser 类,JFleChooser 是Java 提供的一个简单的文件选择机制,我们这里扩展这个类,是为了增加我们自己的文件过滤器。
三、运行环境、开发语言
Window xp 和elipse
Java语言
四、详细设计
1 程序清单(二级标题为四号,黑体,三级标题为小四号,黑体)
文件名 功能 ImageAction.java 按键处理类 ImageFileChooser.java 文件选择 ImageFrame.java 界面显示,布局 ImageService.java 除界面外的其他功能(文件保存打开等) Main.java 主函数 MyImage.java 创建图片类对象 AbstractTool.java 所用工具共同的方法(抽象类) AtomizerTool.java 喷枪工具 BrushTool.java 刷子工具 ColorPickedTool.java 拾色器 EraserTool.java 橡皮工具 LineTool.java 直线工具 PencilTool.java 铅笔工具 PolygonTool.java 多边形工具 RectTool.java 矩形工具 RoundRectTool.java 圆矩形工具 RoundTool.java 椭圆形工具 Tool.java 定义工具类 ToolFactory.java 得到某个具体的工具
2 主要代码
2.1主界面实现:
设置JFrame 窗口的标题,接下来初始化画图区域,初始化为白色,然后再获取
PENCIL_TOOL(铅笔)类型的Tool,创建各种
您可能关注的文档
- I-Project持续创新项目管理系统_需求分析报告.doc
- I0104103工作面回风顺槽下放综掘机安全技术措施.doc
- I10管理信息系统(MBA全景教程之十)50试卷和答案(满分).docx
- i2011春湖北武穴市梅川高中化学选修5《《有机化学基础》》期末复习题(二)—烃和卤代烃复习题.doc
- i5062-(11中文用户手册).doc
- I2c总线调整中英文对照.doc
- IARproteusMSP430仿真的调试方法.docx
- IBMBladeCenterHSMM使用手册.doc
- IBMDS4300配置手册.doc
- IBMT43拆解手册.doc
- 中国急性肺血栓栓塞症诊断治疗专家共识(2018版).pdf
- 学校教育教学督导工作总结范文(精选6篇).docx
- 第二章 3.简谐运动的回复力和能量-【金版新学案】2024-2025学年新教材高二物理选择性必修第一册同步课堂高效讲义配套课件(人教版2019)[48544603].pptx
- 赌博离婚协议书债务的模板8篇.docx
- 生产部年终工作总结ppt十五篇.doc
- 应对新冠肺炎疫情医疗救治工作预案.pdf
- 小升初河北省石家庄市2022-2023学年人教版小学六年级下册数学真题分题型专项练习操作题(含解析).pdf
- 小学线上教学课程实施方案.pdf
- 安徽省河道管理范围内建设项目审批权限表、规模划分表、防洪影响评价报告表、监督检查表.pdf
- 小学六年级语文上册期末试卷(加答案).pdf
文档评论(0)