ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:20.57KB ,
资源ID:29155792      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29155792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA语言程序设计课程设计报告模板及范文.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA语言程序设计课程设计报告模板及范文.docx

1、JAVA语言程序设计课程设计报告模板及范文JAVA语言程序设计课程设计报告模板及范文级:学 号:姓 名:2021 年7月中文摘要摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。JAVA不仅可以用来开发大型的应用程序。而且特别适合Inter的应用开发。JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。本报告中介绍了用JAVA语言实现画笔系统的全部过程。本次

2、课程设计是配合JAVA程序设计课程,帮助我们深入学习掌握JAVA语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。本课程设计尝试使用一些较生动的示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。过程中能够修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能以及清空整个画面的功能关键词:画笔系统,JAVA目 录中

3、文摘要2目 录31、绪论42、 开发环境介绍43、需求分析53、1总体目标53、2要实现的功能64、概要设计64、1设计准备64、2需用到的类75、详细设计75、1类的设计75、2类的方法介绍86、测试数据及运行结果107、总结118、参考文献119、源程序121、绪论Java不依赖平台的特点使它受到广泛的关注,Java已成为网络时代最重要的语言之一。目前,Java语言不仅是一门被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。因为很多新的技术领域都涉及到Java语言,国内外许多大学已将Java语言列入本科教学计划,而IT行业对Java人才的需求也在不断的增长,因此,掌握J

4、ava已经成为共识。Java是一门说简单也不简单,说难也不难的课程。所以,我们在学习的过程中要根据自己的具体情况,合理安排编程训练时间,相信编程能力会在不知不觉中得到提高。在此次的课程设计实践中,我学到了教科书上没有的东西。这次课程设计,我按照课程设计的要求,分块实现程序的功能。在实践中我遇到许多的问题,但我都克服,最终我成功的完成了这次课程设计。从中我充分理解了Java面对对象的特性,并体会到Java与C语言的不同之处在实践的同时,我又从中成长了许多,特别是在对程序的编译和调试中掌握了许多的技巧和方法,为今后的其他计算机语言的学习奠定了一定的基础2、 开发环境介绍该项目所使用的软件开发环境如

5、下:操作系统:Windows xp开发工具:eclipse3、2及其VE插件Eclipse简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具。E clipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语 言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持 使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵

6、活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中, 其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Ja

7、va差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多 大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。3、需求分析3、1总体目标设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。过程中能够修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能以及清空整个画面的功能3、2要实现的功能1、这个画图程序,最基本的功能是,作为一个画笔,能利用它实现在屏幕上任意绘画、书写的功能;2、利用这个画图程序,通过选择画直线、

8、画圆形、画矩形等功能选项并且在屏幕上拖动鼠标操作能实现画出相应图形的功能;3、这个画图程序,还需具备橡皮擦的功能,利用这个橡皮擦能够擦除屏幕上的图案,并且此橡皮擦也应该能够改变大小;4、这个画图程序,还应该做到能够改变画笔颜色的功能;5、这个画图程序,还应该具备能够清除整个屏幕已绘制图画的功能。4、概要设计4、1设计准备1、此程序为实现这些功能模块,必须首先定义一个工具面板,将这些画笔、画直线、画圆形、画矩形、画笔颜色、画笔大小、橡皮等功能组件放入这个工具面板中。2、此程序为实现利用鼠标做画笔的功能,必会产生鼠标事件MouseEvent。因此,为实现鼠标画图的功能,必须用到鼠标触发事件,故在此

9、程序中,必须实现“委托事件模型”,用到事件源、事件对象以及监听者对象。3、此程序中,必须用到的包如下:import java、awt、*;import java、awt、event、*;import java、util、*;import javax、swing、*;import java、awt、geom、*;4、2需用到的类1 )class Point此类用于定义一组数据成员,并且使用构造函数将他们分别初使化,以方便在下面的程序中使用他们。2)class paintboard 此类用于实现这个程序的大部分功能,在这个类中除了定义一些基本变量以及构造函数外,还定义了很多成员方法,这些成员方法将

10、实现鼠标触发事件的一系列绘图功能。3 )public class PaintBrush 这个类是主类,是程序得以运行的入口。在这个主类中定义了主方法,是该程序执行的入口。5、详细设计5、1类的设计1)class Point在这个类中定义了用于截断的一系列标志变量,有初始坐标、颜色、工具选择等,并且在这个类中还定义了构造函数Point(int x, int y, Color col, int tool, int boarder),用于完成对这些变量的初始化工作。2)class paintboard 这个类用来实现整个程序的大部分功能,并且在这个类中定义了大部分的成员函数和成员方法,在这个类中用到

11、的主要成员方法如下:Public void paint(Graphics g)public void itemStateChanged(ItemEvent e)public void mouseDragged(MouseEvent e)public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mouseClicked(Mouse

12、Event e)public void mouseMoved(MouseEvent e) public void actionPerformed(ActionEvent e)5、2类的方法介绍定义的变量:在这个类中,首先定义了画笔的大小、画笔的颜色、画笔的粗细、橡皮的大小、工具的选择等一些变量,并且还用到了系统中自带的一些类初使化了一些面板工具对象,用于完成对面板工具、画直线、画椭圆、画矩形、橡皮擦、清除等一些工具按钮的定义。初使化构造函数:在这个初使化构造函数中,首先继承了父类Frame,然后初使化了各工具按钮以及各个选择项,包括颜色选择、画笔大小选择、橡皮大小选择,并且将这些组件添加到了工

13、具面板中,最后还对各个组件注册了事件监听者对象。paint()方法:这个方法主要用于在Applet的界面中显示文字、图形和其它界面元素。本程序中,在这个方法中,定义了一些工具选项设置,给用户选择画笔、画直线、画圆、橡皮擦等一些功能。itemStateChanged()方法:这个方法用来实现的功能很简单,主要是用来改变画笔大小、画笔颜色、橡皮大小的。在此方法中,设置了大小以及颜色的一些预选项,以供用户对大小以及颜色做出选择。mouseDragged()方法:此方法是处理MouseEvent事件以实现MouseMotionListener接口的对象。MouseMotionListener是事件监听

14、者,mouseDragged(MouseEvent e)是成员方法,代表鼠标拖动事件,在这个方法中,还用到了MouseEvent类常用成员方法:public int getX()以及public int getY(),用来返回发生鼠标事件的X及Y的坐标。这个方法中,主要用来控件画笔和橡皮的转换。mousePressed()方法:此方法是处理MouseEvent事件以实现MouseListener接口的对象。MouseListener是事件监听者,mouseDPressed(MouseEvent e)是成员方法,代表鼠标按下事件。这个方法主要用来控件用户画直线、画圆、画矩形这些功能之间的转换。

15、mouseReleased()方法:mouseEntered()方法:mouseExited()方法:mouseClicked()方法:这些方法和mousePressed()方法属于同一类,他主要用来表示鼠标释放事件,是对上述各个功能完成后对鼠标事件的又一次触发。6、测试数据及运行结果1、画笔在屏幕上绘画2、改变画笔的粗细3、画直线、画圆、画矩形7、总结此软件基本达到理想效果,在编写这一软件的过程中我学到了很多java编程知识,并学会了如何快速的改正程序中的错误。经过一周的课程设计,java编程方面的知识收获很大,但这只是java编程知识的冰山一角,还有很多东西没有学到。这次课程设计受益匪浅,

16、不仅锻炼了我做事坚持不懈的心态,也慢慢地培养了我不懂就查书的好习惯,我的自学能力也有了一定的提高,我更明白了搞计算机这行,要学到真正的技术完全要靠自己,在课堂上只能学到最基本的东西,但这最基本的东西也一定要学好。在以后的工作学习中,我还会将更多的时间与精力投入到Java的学习中,不断为自己所学的知识补充新鲜血液。8、参考文献1 董军,潘志庚、 计算机支持协同工作的面向对象模型、 计算机工程J,1998,24(1): P40-422吴学金、 实例导学PB7、0程序设计M、 天津、南开大学出版社,2002、9: P200-2303萨师煊,王珊、 数据库系统概论M、第三版、 北京:高等教育出版社,2

17、000: P300-3304 Hub S、Y、, Rosenberg D、 A Change Management Framework:Dependency Maintenance and Change Notification、 Journal of System and SoftwareJ,1996,34(1):P231-2465dwway、 决策树算法简介、 :/、dmgroup、org、cn/sf8、htm 、20029、源程序(打印稿无需打印本节内容)/*PaintBrush、java,可调画笔粗细-Java画图实验-swingcode1, y =-画笔);(1-橡皮);(2-清除)

18、; /(3-直线);(4-圆);(5-矩形); Color c = new Color(0,0,0); /画笔颜色BasicStroke size = new BasicStroke (con,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL);/画笔粗细 Point cutflag = new Point(-1,-画笔,直线,圆,矩形,多边形,橡皮,清除*/ Panel toolPanel; Button eraser, drLine,drCircle,drRect; Button clear ,pen; Choice ColChoice,SizeCho

19、ice,EraserChoice; Button colchooser; Label 颜色,大小B,大小E; paintboard(String s)/构造函数 super(s); addMouseMotionListener(this); addMouseListener(this); paintInfo = new Vector(); /*各工具按钮及选择项*/ /颜色选择 ColChoice = new Choice(); ColChoice、add(黑色); ColChoice、add(红色); ColChoice、add(蓝色); ColChoice、add(绿色); ColChoi

20、ce、addItemListener(this); /画笔大小选择 SizeChoice = new Choice(); SizeChoice、add(1); SizeChoice、add(3); SizeChoice、add(5); SizeChoice、add(7); SizeChoice、add(9); SizeChoice、addItemListener(this)/橡皮大小选择 EraserChoice = new Choice(); EraserChoice、add(2); EraserChoice、add(3); EraserChoice、add(4); EraserChoice

21、、add(5); EraserChoice、addItemListener(this); toolPanel = new Panel(); clear = new Button(清除); eraser = new Button(橡皮); pen = new Button(画笔); drLine = new Button(画直线); drCircle = new Button(画圆形); drRect = new Button(画矩形); colchooser = new Button(显示调色板); /各组件事件监听 clear、addActionListener(this); eraser、

22、addActionListener(this); pen、addActionListener(this); drLine、addActionListener(this); drCircle、addActionListener(this); drRect、addActionListener(this); colchooser、addActionListener(this); 颜色 = new Label(画笔颜色,Label、CENTER); 大小B = new Label(画笔大小,Label、CENTER); 大小E = new Label(橡皮大小,Label、CENTER); /面板添加

23、组件 toolPanel、add(pen); toolPanel、add(drLine); toolPanel、add(drCircle); toolPanel、add(drRect); toolPanel、add(颜色); toolPanel、add(ColChoice); toolPanel、add(大小B); toolPanel、add(SizeChoice); toolPanel、add(colchooser); toolPanel、add(eraser); toolPanel、add(大小E); toolPanel、add(EraserChoice); toolPanel、add(c

24、lear); /工具面板到APPLET面板 add(toolPanel,BorderLayout、NORTH); setBounds(60,60,800,650); setVisible(true); validate(); /dialog for save and load addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System、exit(0); ); public void paint(Graphics g) Graphics2D g2d = (Graphics2D)g; P

25、oint p1,p2; n = paintInfo、size(); if(toolFlag=2)g、clearRect(0,0,getSize()、width,getSize()、height);/清除 switch(type) case3: Line2D line = new Line2D、Double(20210,yy0,20211,yy1); g2d、draw(line); break; case4: Ellipse2D ellipse1 = new Ellipse2D、Double(20210, yy0, Math、abs(20211-20210),Math、abs(yy1-yy0);

26、 g2d、draw(ellipse1); break; case5: Rectangle2D rect1 = new Rectangle2D、Double(20210, yy0, Math、abs(20211-20210), Math、abs(yy1-yy0); g2d、draw(rect1); break; default:break; for(int i=0; in-1; i+) p1 = (Point)paintInfo、elementAt(i); p2 = (Point)paintInfo、elementAt(i+1); size = new BasicStroke(p1、boarde

27、r,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL); g2d、setColor(p1、col); g2d、setStroke(size); if(p1、tool=p2、tool) switch(p1、tool) case 0:/画笔 Line2D line1 = new Line2D、Double(p1、x, p1、y, p2、x,p2、y); g2d、draw(line1); break; case1:/橡皮 g、clearRect(p1、x, p1、y, p1、boarder, p1、boarder); break; case3:/画直线 Line

28、2D line2 = new Line2D、Double(p1、x, p1、y, p2、x, p2、y); g2d、draw(line2); break; case4:/画圆 Ellipse2D ellipse = new Ellipse2D、Double(p1、x, p1、y, Math、abs(p2、x-p1、x),Math、abs(p2、y-p1、y); g2d、draw(ellipse); break; case5:/画矩形 Rectangle2D rect = new Rectangle2D、Double(p1、x, p1、y, Math、abs(p2、x-p1、x),Math、ab

29、s(p2、y-p1、y); g2d、draw(rect); break; case6:/截断,跳过 i=i+1; break; default :break; /end switch /end if /end for public void itemStateChanged(ItemEvent e) if(e、getSource()=ColChoice)/预选颜色 String name = ColChoice、getSelectedItem(); if(name=黑色) c = new Color(0,0,0); else if(name=红色) c = new Color(255,0,0)

30、; else if(name=绿色) c = new Color(0,255,0); else if(name=蓝色) c = new Color(0,0,255); else if(e、getSource()=SizeChoice)/画笔大小 String selected = SizeChoice、getSelectedItem(); if(selected=1) con =1; size = new BasicStroke(con,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL); else if(selected=3) con =3; size

31、= new BasicStroke(con,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL); else if(selected=5) con =5; size = new BasicStroke(con,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL); else if(selected=7) con =7; size = new BasicStroke(con,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL); else if(selected=9) con =9; size = new BasicStroke(con,BasicStroke、CAP_BUTT,BasicStroke、JOIN_BEVEL); else if(e、getSource()=EraserChoice)/橡皮大小 String Esize = EraserChoice、getSelectedItem(); if(Esize=2) Econ =3*3; else if(Esize=3) Econ =4*4; else if(Esize=4) Econ =5*5; else if(Esize=5)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1