Java实现简易画图程序.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Java语言》课程期末作业 题 目第1题:简易绘图程序 学 院 计算机学院 专 业 软件工程 班 别 学 号 姓 名 2015年12月6日 翁佳盛 《 翁佳盛 《Java语言》课程期末作业 PAGE PAGE # / 352 一、 课程题目 绘图应用程序。利用学过的GUI方法实现一个较为完整的绘图应用程序。 用户可以选择要画的图形(如线,椭圆,圆,矩形,弧,圆角矩形,多边形,折 线等等),选择画笔颜色和画笔粗度,用鼠标单击和拖拽等动作绘图,并能将绘 图结果保存为jpg和bmp格式。 二、 题目分析与设计 开发环境:Eclipse 4.5.0 JDK 180_45 题目需求分析:题目要求实现一个较为完整的绘图程序,最基本的要求 是用户可以自由选择图形,颜色,线条粗细等属性,并用鼠标绘制图形,并将其 保存为图片文件。首先,程序界面参考一般绘图软件,进行组件的布局。另外对 于程序的功能实现,则将图形封装成类,通过多态实现多种不同图形的绘制, 并 用输入输出流保存或打开文件。除此之外根据实际操作的需要,添加一些必要或 者实用的功能,如撤销操作,快捷键撤销或保存,关闭文件前弹窗提示保存等功 .菜单功能:通过菜单栏进行: 一、 文件的读取与写入; 二、 使用扩展功能; 三、 程序的简单偏好设置; 四、 程序信息提示。 .绘图功能:在绘图过程通过工具栏进行形状、颜色等图形选择,在文本 输入及扩展功能状态下会新增子工具栏,在子工具栏中对于字体或其它形状进行 设置。然后在画板区域通过鼠标的点击与拖拽绘制图形。绘图过程应有保存与撤 销功能。绘图范围为画板的显示的区域。 .其它功能:如快捷键Ctrl+z为撤销,Ctrl+s为保存。鼠标停在工具栏按 钮上时提示功能。文件修改后窗口标题带上星号作为标记。第一次编辑的文件或 修改过的文件关闭前自动提示保存。等等。 .功能架构图: 简易绘图 保 存 文 件打 开 文 件文件操作新 建 文 件图 形 绘 制撤 销 擦 除更 多 图 形补充功能 保 存 文 件 打 开 文 件 文件操作 新 建 文 件 图 形 绘 制 撤 销 擦 除 更 多 图 形 补充功能 界面设计:本程序使用Swing图形编程 菜单:类似于常见程序,添加子菜单:,Setting. Help。在File菜单下有 n ew, ope n, save, exit等菜单项。Pai nt下主要是moresh ape调出更多图形选 择,Setting下的background菜单项可更改画板背景颜色。Help下可查看程序及 作者的信息。 主界面:采用默认的BordeLayout布局,添加工具栏于 NORTH区,画板于 CENTER区。打开程序时默认全屏。 工具栏:由于有多个工具栏,所以使用 JTabbedPa nd故出多标签。主工具栏 一直存在,文本工具栏和扩展工具栏每次最多只有一个出现, 若打开时另一个工 具栏已存在,则会先将已存在的工具栏关闭。主工具栏与文本工具栏由于有复选 框这一组件,添加后会自动填满多余空间,所以使用 FlowLayout布局。扩展工 具栏使用默认布局。 主工具栏添加常用图形按钮、图形属性按钮、撤销按钮。文本工具栏添加字 体属性按钮,撤销按钮及退出文本工具栏按钮。扩展工具栏添加多边形按钮及退 出扩展工具栏按钮。每个工具栏的按钮各自存放在一个 ArrayList中。 画板:画板类从JPanel继承,重写paintComponent方法,使得画板每次刷新 时可将之前的所有图形重新画出来。 逻辑实现: 画图部分:程序将一个图形的所有信息封装为一个 Drawings类,而具体的 图形则从Drawings类继承,并实现自己的draw()方法用以画出图形。因此,可 以创建一个Drawings类型的数组,用一个索引对数组进行操作,用户每画一个 图形,就将该图形的所有信息存放到数组中索引指向的位置,索引向后移动一位。 重写后的画板的drawComponent方法就会自动将数组中从0位置到索引位置的 所有图形在画板上绘制出来。而撤销操作只需要将索引向前移动一位并重画即 可。 文件读写:保存文件时,先创建一个 Bufferedlmage对象,然后将画板内容 画到该对象上,并将该对象写入到指定文件中。 打开文件时,则从指定文件中获 得一个BufferedImage对象,将其作为一个从Drawings类继承的图形,在画板上 画出来。 三、测试分析 测试数据: .新建文件,画图,保存为jpg文件; .新建文件,画图,保存为bmp文件; .打开(1)(2)中保存的文件; .打开一个txt文件,弹窗报错; 测试情况:测试结果与预计结果一致; Us 荀易魏匿* File Paint Setting Help (主工具栏「瘗边醪工具栏L |回

文档评论(0)

kunpeng1241 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档