Java面向对象课程设计报告画图板毕业设计(论文)word格式

上传人:M****1 文档编号:548797464 上传时间:2023-11-08 格式:DOC 页数:32 大小:1.14MB
返回 下载 相关 举报
Java面向对象课程设计报告画图板毕业设计(论文)word格式_第1页
第1页 / 共32页
Java面向对象课程设计报告画图板毕业设计(论文)word格式_第2页
第2页 / 共32页
Java面向对象课程设计报告画图板毕业设计(论文)word格式_第3页
第3页 / 共32页
Java面向对象课程设计报告画图板毕业设计(论文)word格式_第4页
第4页 / 共32页
Java面向对象课程设计报告画图板毕业设计(论文)word格式_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Java面向对象课程设计报告画图板毕业设计(论文)word格式》由会员分享,可在线阅读,更多相关《Java面向对象课程设计报告画图板毕业设计(论文)word格式(32页珍藏版)》请在金锄头文库上搜索。

1、?面向对象程序设计课程设计?指导书课程设计名称:面向对象程序设计课程设计 指导老师:牛志毅课程设计周时数:2周指导方式:集体辅导与个别辅导相结合课程设计适用专业:信息与计算机科学课程设计教材及主要参考资料:?Java程序设计与案例?刘宝林主编,高等教育出版社效劳课程名称:面向对象程序设计一、课程设计教学目的及根本要求通过本课程设计,使学生了解面向对象程序的开发思想、方法和步骤,掌握开发工具的使用,提高综合运用所学的理论知识和方法独立分析和解决问题的能力,进一步提高其开发应用程序的能力。要求明确本次课程设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系

2、统综合实例,来掌握Java语言编程技巧。并学会编制结构清晰、风格良好的、数据结构适当的Java语言程序,从而具备解决综合性实际问题的能力。二、设计题目及要求二选一 设计一个图书信息管理系统图书信息包括图书编号、书名、作者、出版社、出版日期、图书简介及图书类别等。本系统功能描述:图书信息录入功能; 图书信息浏览功能;查询功能至少一种查询方式;图书信息修改功能;及其它你认为必要的功能。 设计一个画图软件用户界面友好;能绘制根本形状的图形;可设置图形的颜色、线条的粗细和填充等属性;可将画好的图保存至文件,并能从文件中读取。三、设计报告的要求设计结束后要写出课程设计报告,以作为整个课程设计评分的书面依

3、据和存档材料。设计报告以规定格式的电子文档书写、打印并装订,排版及图、表要清楚、工整。内容及要求如下: 封面:题目、班级、姓名、学号、指导教师和完成日期。正文包括以下7个内容:课题说明以无歧义的陈述说明程序设计的任务。程序设计思路简要说明程序设计的思路。程序源代码给出源代码及注释。程序测试给出程序主要运行界面截图。设计总结经验和体会等。参考文献列出参考的相关资料和书籍。五、课程设计考核方法及成绩评定 课程设计结束时,要求学生提交课程设计报告附源程序及可运行的软件系统。课程设计成绩分两局部,设计报告占50,设计作品占50。附件:课程设计报告封面和参考程序。湖南科技学院课程设计报告课程名称:面向对

4、象程序设计课程设计课程设计题目:画图板系:专 业:年级、班:姓 名:学 号:指导教师:职 称:2021年6月1. 课题的任务和要求设计一个画图软件用户界面友好;能绘制根本形状的图形;可设置图形的颜色、线条的粗细和填充等属性;可将画好的图保存至文件,并能从文件中读取。2. 程序设计思路该课题的任务是设计一个画图软件,要求能绘制根本形状的图形;同时可以设置图形的颜色、线条的粗细和是否填充等属性;并且可以将画好的图形以某种格式,比方说JPG保存至文件,并能从文件中读取某种格式的图像文件并显示出来。首先,作为画图板,应该能够绘制根本的图形,像铅笔, 直线, 矩形, 椭圆,圆,同时考虑到实用性,画图板应

5、该能够提供橡皮擦,设置线条粗细,颜色,背景颜色的功能。在鼠标停留在按钮上时,按钮上应该提供显示提示文字,通过设置JButton的setText方法即可到达要求,在使用线条工具来绘制线条时,如果设置图形过于粗大,要求绘制出来图形能够消除锯齿,思路是在设置Graphics2D的大小时,设置Graphics2D,setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);即可到达要求第二,考虑到平时画图时,总是喜欢按住shift来绘制45,90的线条,为方便用户,画图板也必须提供相应的功能,思

6、路是判断线条的角度,如果角度大于0同时小于45,那么绘制45的斜线,如果线条的角度大于45小于90,那么绘制90度的直线。第三,关于设置背景颜色,考虑到美观,使用了渐变背景色,思路是在设置Graphics2D的背景色时,通过绘制不同透明度的条纹背景,与设置不同级别的透明度来到达绘制渐变背景色的目的。第四,关于画图板,在提供通用的功能的同时,应该能够提供一些扩展功能,这是课程设计的一项根本要求,对于扩展功能我提供了绘制圆角矩阵,三角形,3D立方体,和绘制f(x)=A*sin(Bx)+C*cos(Cx),绘制重叠椭圆等扩展功能,绘制圆角矩阵是通过Graphics2D的drawRoundRect来实

7、现的,而3D立方体那么是通过fill3DRect实现的,而三角形是通过绘制首尾相连的三条直线来实现的。而正余弦曲线那么完全是通过计算出曲线的值,然后绘制一小段直线,通过绘制很多这样的小直线相连来到达绘制正余弦曲线的目的。的值,然后绘制一小段直线,通过绘制很多这样的小直线相连来到达绘制正余弦曲线的目的。而重叠椭圆的实现那么是通过Graphics2D的draw(new Ellipse2D.Double(x1,y1,85,90);绘制一个椭圆,然后translate(x1,y1); 将 Graphics2D 上下文的原点平移到当前坐标系中的点(x1,y1),在计算d=m*math.PI/180的值,

8、rotate(d); 将当前的 Graphics2D Transform 与旋转转换连接,然后,translate(-x1,-y1); 将Graphics2D 上下文的原点平移到当前坐标系中的点(-x1,-y1)。draw(new Ellipse2D.Double(x1,y1,85,90);再来绘制一个椭圆,通过这样的处理,来绘制一个在一个圆平面且重叠的椭圆图形。第五,关于设置是否填充的问题,对于直线来说,是否填充是没有实际意义的,所以不予考虑,释放填充应该考虑圆,椭圆,圆角矩阵,三角形,对于圆和椭圆的填充是通过调用Graphics2D 的drawOval方法实现的,圆角矩阵那么是通过调用Gr

9、aphics2D的drawRoundRect来实现的,而三角行的填充那么是通过调用Graphics2D的fillPolygon方法来实现的.而填充与否的判断那么是通过isfill的真与假来实现的.第六,要求能够保存图形与翻开已有的图形,这是通过使用BufferedImage来缓存绘制的图形,然后使用ImageIO将绘制的图形在重新绘制一次再保存到指定的位置,从而实现了文件的保存,翻开文件时,考虑到实用性与方便,提供了预览图像的功能,通过继承Jpanel,将选得的图片通过setIcon绘制在出来,实现预览的功能。翻开是通过ImageIO将图片绘制在面板上。为方便用户,提供了一个File的菜单,菜

10、单中提供了新建,保存,翻开,退出的功能。第七,考虑到美观,使用了观感器的图形界面。主要是通过观感管理器来实现的。UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();对于背景颜色那么是通过设置渐变背景颜色来实现的。第八,在用户退出时,要求能询问用户是否保存作品,考虑到菜单中有保存的选项,所以通过菜单退出时没有提供询问是否保存的功能,而在实际生活中,考虑到有时候会忘记保存,所以通过右上角窗口退出时必须询问是否保存,是否保存那么是通过JOptionPane.showConfirmDialog来实现的,当用户选择Yes时

11、,保存文件。其他那么直接退出。根据课题要求,首先对要实现的功能类型抽象出一个公共的基类Drawing,子类Line,Rectange,Oval,Pencil,RoundRect,Circle,Rect3D,Triangle,SinCos,Tuo,Eraser通过继承基类来实现不同的功能,在使用时,通过基类来调用不同的子类,很好地表达了面向对象的Java语言的多态,抽象,继承的思想。用户通过选择不同的按钮来绘制图形,这主要是利用按钮监听将不同的绘图功能绑定到不同的按钮上,通过监听用户的选择来创立不同的子类,通过子类绘制不同的图形。3. 源代码及注释package myclass;import j

12、ava.awt.*;import java.awt.event.*;import java.awt.geom.Ellipse2D;t.geom.Rectangle2D;import java.awt.image.BufferedImage;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.io.*;import java.util.ArrayList;import java.util.Random;import javax.imageio.ImageIO;impo

13、rt javax.swing.*;import javax.swing.event.*;import javax.swing.filechooser.FileFilter;import javax.swing.filechooser.FileNameExtensionFilter;import javax.swing.filechooser.FileView;import javax.swing.text.StyledEditorKit.ForegroundAction;REE_MEM;import org.w3c.dom.css.Rect;public class DrawingBoard

14、public static void main(String args) DrawGraphic newPad = new DrawGraphic(); /创立窗口对象 class DrawGraphic extends JFrame private JButton choices; / 按钮数组private String names = 铅笔, 直线, 矩形, 椭圆,圆角矩阵, 圆,3D立方体,三角形,椭圆重叠,正余弦曲线,橡皮擦,背景色,颜色 ; / 按钮上的文本private String tipText = 自由绘制, 绘制直线, 绘制矩形, 绘制椭圆 ,绘制圆角矩阵,绘制圆,绘制3

15、D立方体,绘制三角形,椭圆重叠,正余弦曲线,橡皮檫,设置透明背景色,选择颜色; / 按钮的提示字串JToolBar buttonBar; / 工具条Drawing itemlist=new Drawing1000;JCheckBox fillCheckBox;/复选框JSlider strokeSlider;/滑动条int index=0;private int currentType=1;/当前选择private Color color=Color.black;/颜色private float currentstroke=1.0f;/线条粗细private boolean currentfill=false;/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号