《java图片管理系统代码及设计.ppt》由会员分享,可在线阅读,更多相关《java图片管理系统代码及设计.ppt(30页珍藏版)》请在金锄头文库上搜索。
1、图片管理系统图片管理系统 J2SE应用应用 第五期第五期 欧美班欧美班 程军程军Page 2目录目录实现意义实现意义功能分析功能分析编码实现编码实现系统测试系统测试完成完成提交提交概要设计概要设计Page 3实现意义实现意义一一 实现意义:实现意义:JavaJava语言简介:语言简介:JavaJava语言结构体系简介:语言结构体系简介:关于关于JavaJava软件工程师的简介:软件工程师的简介:实现图片管理系统的实际意义:实现图片管理系统的实际意义: Page 4JavaJava语言简介语言简介JavaJava是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的是一种简单
2、的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言中立的,可移植的,性能很优异的多线程的,动态的语言。请大家一口气说出这句,。请大家一口气说出这句,你是否感觉到你是否感觉到JavaJava的力量。这样说可能你没啥感觉那么请看下面的它历程简单介绍。的力量。这样说可能你没啥感觉那么请看下面的它历程简单介绍。n当当19951995年年SUNSUN推出推出JavaJava语言之后,全世界的目光都被这个神奇的语言所吸引。那么语言之后,全世界的目光都被这个神奇的语言所吸引。那么JavaJava到底有何神奇之处呢?到底有何神奇之处呢?n在在Ja
3、vaJava出现以前,出现以前,InternetInternet上的信息内容都是一些乏味死板的上的信息内容都是一些乏味死板的HTMLHTML文档。文档。n当当JavaJava语言的出现让这一状况出现了彻底得到了改变,让我们的语言的出现让这一状况出现了彻底得到了改变,让我们的InternetInternet丰富多彩起丰富多彩起来。来。Page 5JavaJava语言结构体系简介语言结构体系简介nJavaJava体系结构体系结构:n完整的完整的JavaJava体系结构实际上是由体系结构实际上是由4 4个组件组合而成:个组件组合而成:JavaJava编程语言编程语言JavaJava类文件格式类文件格
4、式Java APIJava APIJVMJVM因此,使用因此,使用JavaJava开发时,就是用开发时,就是用JavaJava编程语言编写代码,然后将代码编译为编程语言编写代码,然后将代码编译为JavaJava类类文件,接着在文件,接着在JVMJVM中执行类文件。中执行类文件。JVMJVM与核心类共同构成了与核心类共同构成了JavaJava平台,也称为平台,也称为JRE(Java Runtime EnvironmentJRE(Java Runtime Environment,JavaJava运行时环境运行时环境) ),该平台可以建立在任意操作系,该平台可以建立在任意操作系统上。图统上。图1-1
5、1-1显示了显示了JavaJava不同功能模块之间的相互关系,以及它们与应用程序、与操不同功能模块之间的相互关系,以及它们与应用程序、与操作系统之间的关系。作系统之间的关系。Java APIJava API是预先编写的代码,并按相似主题分成多个包。是预先编写的代码,并按相似主题分成多个包。Java APIJava API主要分为主要分为3 3大平台:大平台:Page 6Java APIJava API主要分为主要分为3 3大平台大平台nJava APIJava API主要分为主要分为3 3大平台:大平台:J2SE(Java 2 Platform, Standard Edition)J2SE(J
6、ava 2 Platform, Standard Edition):该平台中包含核心:该平台中包含核心JavaJava类和类和GUIGUI类。类。J2EE(Java 2 Platform, Enterprise Edition)J2EE(Java 2 Platform, Enterprise Edition):该包中包含开发:该包中包含开发WebWeb应用程应用程序所需的类和接口,有序所需的类和接口,有ServletServlet、JavaServer PageJavaServer Page、以及、以及Enterprise Enterprise JavaBeanJavaBean类等。类等。J2
7、ME(Java 2 Platform, Micro Edition)J2ME(Java 2 Platform, Micro Edition):该包体现了:该包体现了JavaJava的传统优势,为的传统优势,为消费类产品提供了一个已优化的运行时环境,用于如传呼机、手机或汽车导消费类产品提供了一个已优化的运行时环境,用于如传呼机、手机或汽车导航系统。航系统。Page 7关于关于JavaJava软件工程师的简介软件工程师的简介n关于关于JavaJava软件工程师的简介:软件工程师的简介:n如今由于如今由于InternetInternet的高速发展,为了能使用户得到更好的体验并实现用户与服务器的的高速
8、发展,为了能使用户得到更好的体验并实现用户与服务器的交互,使基于交互,使基于B/SB/S模式的软件开发进入了一个高速发展期。模式的软件开发进入了一个高速发展期。nJavaJava的应用可以说是无处不在,从桌面办公应用到网络数据库等应用,从的应用可以说是无处不在,从桌面办公应用到网络数据库等应用,从PCPC到嵌入式到嵌入式移动平台,从移动平台,从JavaJava小应用程序(小应用程序(AppletApplet)到架构庞大的)到架构庞大的J2EEJ2EE企业级解决方案,处处都企业级解决方案,处处都有有JavaJava的身影,就连美国大型太空项目当中,也使用了的身影,就连美国大型太空项目当中,也使用
9、了JavaJava来开发控制系统和相关软来开发控制系统和相关软件。用途如此之广的件。用途如此之广的JavaJava造就了造就了JavaJava软件工程师的辉煌,使其在软件工程师的领域里软件工程师的辉煌,使其在软件工程师的领域里独占鳌头!独占鳌头!JavaJava软件工程师运用软件工程师运用JavaJava这个开发工具去完成软件产品的软件程序设计、这个开发工具去完成软件产品的软件程序设计、开发、测试、维护升级等工作。开发、测试、维护升级等工作。n熟悉熟悉JavaJava、ServletServlet、JSPJSP、EJBEJB等开发技术;熟练使用等开发技术;熟练使用EclipseEclipse或
10、或jbuilderjbuilder等等javajava开发开发工具;熟悉工具;熟悉JAVA+STRUTSJAVA+STRUTS体系结构和开发工具;熟悉至少一种数据库的开发和设计;具体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。Page 8实现图片管理系统的实际意义实现图片管理系统的实际意义n实现图片管理系统的实际意义:实现图片管理系统的实际意义:n对于对于JavaJava软件工程的学习,首先需要完成对于软件工程的学习,首先需要完成对于J2SEJ
11、2SE的学习,先了解一下基本语法,不的学习,先了解一下基本语法,不要求一下学会,然后试着写了以些程序(不会正好去查),从基本开始,写到对基础要求一下学会,然后试着写了以些程序(不会正好去查),从基本开始,写到对基础比较熟悉了,再拿些好的书,比如比较熟悉了,再拿些好的书,比如thinking in javathinking in java来学习概念以及整理思路加高级来学习概念以及整理思路加高级的语言特性,然后完成更好的更复杂的程序。的语言特性,然后完成更好的更复杂的程序。n在学习在学习J2SEJ2SE课程结束之余我完成了图片管理系统,通过完成该系统我实现了前期所学课程结束之余我完成了图片管理系统
12、,通过完成该系统我实现了前期所学知识的融会贯通,并掌握了知识的融会贯通,并掌握了J2SEJ2SE课程中的基本内容,随着系统的完成也充分体现了所课程中的基本内容,随着系统的完成也充分体现了所学的不足之处,为下一步更好的学习学的不足之处,为下一步更好的学习JavaJava课程提供了一个良好的检测机会。课程提供了一个良好的检测机会。Page 9功能分析功能分析n二二 功能分析功能分析n图片管理系统主要分为三个模块:图片管理系统主要分为三个模块:树形图片管理器:该模块主要用来从文件夹中遍历图像文件并建立成树形图片管理器:该模块主要用来从文件夹中遍历图像文件并建立成一个树状的图片管理器。一个树状的图片管
13、理器。图片显示区域:主要用来显示图片以及被处理后的各种效果。图片显示区域:主要用来显示图片以及被处理后的各种效果。图片处理工具栏:主要是一个工具栏包含了对图片处理的各个功能,图片处理工具栏:主要是一个工具栏包含了对图片处理的各个功能,例如放大,缩小,旋转等。例如放大,缩小,旋转等。Page 10模块图模块图图片管理系统图片管理系统图图片片显显示示区区域域树树形形图图片片管管理理器器图图片片处处理理工工具具栏栏Page 11树形图片管理器树形图片管理器n树形图片管理器:该模块主要是实现从目录中区分图片文件和目录,树形图片管理器:该模块主要是实现从目录中区分图片文件和目录,并通过目录本身的层次结构
14、,以一个棵树的形式将所有遍历出来的图并通过目录本身的层次结构,以一个棵树的形式将所有遍历出来的图片显示出来。片显示出来。n树形目录结构图如图树形目录结构图如图1 1所示。所示。Page 12n图图1 1Page 13图片显示区域图片显示区域n图片显示区域:该模块主要是用来初始化显示一个图像,同时也能用图片显示区域:该模块主要是用来初始化显示一个图像,同时也能用来显示各种被处理后的图像。具体各种图像显示效果见图来显示各种被处理后的图像。具体各种图像显示效果见图2 2,图,图3 3。Page 14图像处理效果图像处理效果图图2Page 15图像处理效果图像处理效果图图3Page 16图片处理工具栏
15、图片处理工具栏n图片处理工具栏图片处理工具栏该模块主要是一个工具栏包含了对图片处理的各个功能,例如放该模块主要是一个工具栏包含了对图片处理的各个功能,例如放大,缩小,旋转等。具体可以见图大,缩小,旋转等。具体可以见图4 4。Page 17图图4Page 18编码实现编码实现n树形图片管理器的主要实现代码如下:树形图片管理器的主要实现代码如下:nclass InitTreennstatic JTree tree;nstatic DefaultMutableTreeNode root=new DefaultMutableTreeNode(folderName);nstatic DefaultMut
16、ableTreeNode node1;nstatic DefaultMutableTreeNode node2;nprivate static ArrayList filelist = new ArrayList();npublic static void fireOne(String path)nnDefaultMutableTreeNode node3=new DefaultMutableTreeNode(path);nTreePath tp=new TreePath(node3);nTreeSelectionEvent e=new TreeSelectionEvent(tree,tp,t
17、rue,tp,tp);nnpublic static JTree getTree()nnreturn tree;nn Page 19npublic static void addNode()nntree=new JTree(root);nnpublic static void refreshList(String path,DefaultMutableTreeNode root,HashMap hm1)nnFile dir = new File(path);nFile files = dir.listFiles();nif(files=null)nreturn;n nfor (int i =
18、0; ibufferedimagenBufferedImage image4=ImageTranslation.rotateImg(image3,nframe.degree*45,Color.pink);/进行旋转进行旋转Page 22n图片处理工具栏的主要代码:图片处理工具栏的主要代码:n实现放大缩小功能的主要代码:实现放大缩小功能的主要代码:nclass ImageTranslation n npublic static BufferedImage rotateImg( BufferedImage image, int degree, Color bgcolor )nn int iw =
19、image.getWidth();/原始图象的宽度原始图象的宽度 n int ih = image.getHeight();/原始图象的高度原始图象的高度 n int w=0;n int h=0; n int x=0; n int y=0; n degree=degree%360;n if(degreebufferedimagenBufferedImage image4=ImageTranslation.rotateImg(image3,frame.degree*45,Color.pink);/进行旋转进行旋转nImageIcon image5=new ImageIcon(image4);/把把bufferedimage 转换为转换为imagenframe.label.setIcon(image5);/显示图片显示图片Page 29系统测试系统测试n在系统完成过程中出现了很多问题,通过不断的调试和反复的修改最在系统完成过程中出现了很多问题,通过不断的调试和反复的修改最终完成了该系统,当然该系统只是实现了基本的功能,其性能远远不终完成了该系统,当然该系统只是实现了基本的功能,其性能远远不够完善,但是通过该系统的实现为进一步学习打下了基础。够完善,但是通过该系统的实现为进一步学习打下了基础。30感谢您的关注感谢您的关注