java课程设计 图片查看器要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称面向对象程序设计课程设计
专
班级
、
设计题目
指导教师
设计起止时间:2013 年1月7日至2013年1月18日
目录
1、课程设计概述 (3)
2、系统功能描述 (3)
3、系统需求分析与设计 (3)
3.1系统需求分析 (3)
3.2系统设计 (3)
3.2.1 系统总体设计 (3)
3.2.2 程序详细设计 (4)
4、系统测试和使用说明 (7)
4.1系统测试 (7)
4.2系统使用说明 (13)
5、课程设计总结 (13)
5.1遇到的问题和解决方法 (13)
5.2心得体会 (13)
参考文献 (14)
附录 (14)
1、课程设计概述
鉴于目前当今各种繁杂的图片查看器,我们组根据自身的java知识水平,合力开发了一款相对简单的图片查看器软件。在深入理解java语言的语法规则及其优势的同时,掌握类与方法的构造方法,掌握基于java的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在实践中培养独立分析问题和共同解决问题的作风和能力。
2、系统功能描述
本次设计的图片查看器实现了在用户选定的文件目录下循环浏览指定后缀的图片文件,并且可以对选择的图片进行放大,缩小,左旋,右旋,另存,彻底删除等操作。
3、系统需求分析与设计
3.1 系统需求分析
数字产品的更新日新月异,网络通信技术、图像处理技术以及多媒体技术的发展,使我们的生活变得丰富多彩,让我们的生活变得更便捷,图片的保存和查看已经被越来越多的人所重视,并由此得到了长足的发展。本图片查看器以其简洁明了易操作的特点实现图片查看的基本功能,从而也就满足了用户的基本要求。
3.2 系统设计
3.2.1 系统总体设计
(1)系统功能分析
本系统要用到以下的Java编程技术实现的功能:
图像显示功能:用户需要显示图片,这将由图像显示功能来完成。显示图片的时候,用到了双缓冲技术来消除闪烁问题。
(2)类图
系统中用到了一些基本类、实现了一些接口。系统所用到的类如图1所示:
图1 系统类图
3.2.2 程序详细设计
(1)程序中引用的类
①JPanel 类
程序中定义了三个Jpanel 类分别是:pathBar, picContainer, ctrBar 。用于图片查看器的整体布局。其中pathBar 为顶部路径栏,picContainer 为图片显示区域,ctrBar 为底部控制栏。
②JLabel 类
程序中定义了类名为pathInfo 的JLabel 类,用于实现顶部路径栏,底部控制栏按钮的文字显示。
③JButton 类
程序中定义了多个JButton 类:openbtn, prebtn, nextbtn, zoominbtn, zoomoutbtn,
oripicbtn, angleleftbtn, anglerightbtn,exitbtn,deletebtn,sav;为查看器的按钮。
④Image 类
程序中定义了名为pic的Image类用于对被查看的图片的操作。
⑤BufferedImage 类
此类为用于显示的缓冲区图像。在对图像进行操作前,都先将图片读进预设的缓冲区,然后再显示在用户前端,这样虽然速度慢了点,但很好的消除了图片闪烁效果。
⑥Graphics2D 类
此类与上面的BufferedImage类共同作用,通过运用双缓冲技术很好的消除屏闪问题。
⑦String类
程序中运用了三个不同的String类,从而实现了需要查看的图片的路径的操作,并且在启动图片查看器时,图片的路径能够在路径栏显示出来。同时还设置了String 数组用于存储用户选定的目录下所有指定格式的图片,这样可以实现循环浏览图片等操作。
(2)程序的构造方法及其实现
因为图片查看器可以实现对图片不同的操作,程序中构造了十多个方法以达到其目的。各构造方法相互联系共同完成图片查看器的各项功能。各个方法描述如下:
①public void init()
本方法实现了对图片查看器的界面的整体布局及按钮的初始化。对页面的总体布局采用了以下主要代码进行实现:setLayout(new BorderLayout());add(pathBar, BorderLayout.NORTH); add(picContainer, BorderLayout.CENTER); add(ctrBar, BorderLayout.SOUTH); resize(640, 400);设置顶部路径栏,及其文字显示;代码如pathBar = new JPanel();pathBar.setLayout(new BorderLayout());pathInfo.setText("图片查看器"); pathBar.add(pathInfo);同时对图片显示区域,底部的控制栏的设置也运用了相似的代码进行实现,在此就不再重复。各按钮除了“打开”一按钮外,其他的各按钮均设置为false。这是因为只有“打开”图片后才能进行以下的像循环浏览,旋转,删除等操作。具体方法的实现见附件。
②public void actionPerformed(ActionEvent)
在本方法中主要实现了用户对底部控制栏各按钮的点击后,图片查看器进行的相对应的操作反应。方法中一开始用JButton click = (JButton) e.getSource();获取按键源,然后根据click与程序设定的已知的类进行比较决定进行相应的反应。if(click == openbtn);if(click == prebtn && pic != null);等一系列进行判断后,进行或是打开文件open()方法的调用;或是pre()方法的调用;其他各操作也大同小异,在此就不再赘述。方法的详细代码见附件。
③public void open()