java电子相册实习报告及代码
javaweb电子相册报告
javaweb电子相册报告JavaWeb电子相册报告摘要:本文主要讨论了JavaWeb电子相册的概念、功能、开发技术以及实现过程。
本项目通过使用MVC架构、JSP、Servlet和MySQL数据库来实现相册的基本功能,包括用户注册、登录、相册创建、照片上传、删除和查看等功能。
本项目对于初学者来说是一份不错的实践案例,可以帮助了解JavaWeb程序的开发思路。
关键词:JavaWeb,MVC,JSP,Servlet,MySQL1. 介绍随着互联网的发展,网络相册的应用越来越普遍。
相册的一般功能包括用户的注册、登录、相册的创建、照片的上传、删除和查看等。
本文主要介绍了JavaWeb电子相册的开发,通过使用MVC架构、JSP、Servlet和MySQL数据库等技术来实现相册的基本功能。
2. 开发环境本项目采用Eclipse作为开发工具,使用Apache Tomcat作为Web服务器,MySQL作为数据库。
3. 技术选型本项目采用了MVC架构,将Web页面和后台Java代码分离,使得代码结构更加清晰、易于维护。
具体架构如下:(1) Model:数据模型,主要包括实体类和DAO(Data Access Object)类。
(2) View:表示层,主要负责将数据展示到页面上。
(3) Controller:控制器,接收用户请求,调用相应的模型和视图来处理请求。
本项目采用了JSP和Servlet技术,JSP作为页面展示,Servlet作为控制层。
MySQL数据库用于存储用户信息、相册和照片等数据。
4. 功能实现(1) 用户注册和登录用户注册包括用户的基本信息,如用户名、密码、邮箱等。
用户登录采用Session技术,将用户信息存储在Session中,并在用户登录后判断Session中是否已有用户信息。
用户登录成功后,可以创建相册、上传照片等操作。
(2) 相册创建和删除用户登录后可以创建相册,包括相册名称、描述等信息。
Java实习报告范文5篇_Java实训报告总结
Java实习报告范文5篇Java实习报告范文5篇_Java实训报告总结Java是一种编程语言,如果想要在未来从事Java相关工作,就必须要掌握理论知识以及拥有强大的实操能力。
那么Java实习报告该如何写呢?小编精选了一些关于实习报告的优秀范例,一起来看看吧。
↓↓↓点击下方链接获取“Java”相关内容↓↓↓java的个人总结java实习心得总结Java开发工程师工作职责java实训实习心得java实习实训报告心得体会java实习报告1一、实习目的通过实习,培养综合运用Java语言的面向对象编程能力;培养动手能力;培养良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。
通过理论与实际的结合、学校与社会的沟通,进一步提高自己的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习单位基本情况介绍神丰信息技术(延边)有限公司(简称“神丰信息”),是一家由日方注资,专注于面向中国丰田汽车的软件开发设计、受托日本神丰信息系统株式会社开展系统开发,系统维护、面向中国的日资企业开展系统开发,以及面向中国国内的软件开发设计的IT企业。
公司成立于2005年8月12日,注册资金RMB2,000,000元(神丰信息系统株式会社100%投资),2006年04月04日成为延边朝鲜族自治州信息产业协会会员;2006年05月25日成为吉林省软件输出联盟会员;2006年05月30日被认定为吉林省科技企业;2007年09月25日通过双软认定(软件企业认定、软件产品认定)。
神丰信息一直秉承软件提高效率、与社会共创信息化新时代的理念,致力于为用户提供具有自主知识产权的系统软件、安全软件、平台软件、各类应用软件以及全方位的解决方案和相关服务。
java实习报告-空间相册
生产(毕业)实习报告院(系)______信工院_____专业班_____计科1201__学生姓名学号指导教师(实习时间:2015 年8 月31 日~2015 年9 月11 日)武昌首义学院目录一、实习单位简介 (1)二、实习内容及工具介绍 (1)1、内容介绍 (1)2、工具介绍 (2)三、相关技术基础 (2)1、JSP (2)2、Servlet (3)3、JDBC (3)四、系统总体设计 (4)1、系统功能分析 (4)2、系统初步设计 (4)五、后台数据库的设计与实现 (4)1、创建数据库photos (4)2、建用户表 (4)3、建相册表 (4)4、建相片表 (5)六、前台页面的设计与实现 (5)1、DBC连接数据库方法类 (5)2、DAO统一调用类 (7)3、用户模块 (7)4、相册模块 (7)5、相片模块 (7)6、代码结构示意图 (7)7、效果截图 (8)七、实习收获与体会及建议 (12)一、实习单位简介软帝(Softeem)信息科技有限公司WuHan Softeem Information Science and Technology Co,Ltd.简称软帝(Softeem), 是一个具有鲜明技术特色的专业软件开发及咨询服务的软件企业,是中国软件外包行业的积极倡导者和参与者,并立志为全球客户提供全面的软件开发、测试、维护和认证等专业服务。
软帝(Softeem)主要服务领域为金融、电信、电力、钢铁、电子商务等,我们的质量保证系统能有效为客户提供从项目咨询设计到实施维护的全面服务。
软帝(Softeem)拥有一批专业化的团队和良好的人才梯队,海外归国人才的加盟,使我们迅速拥有进入国际市场的实力。
面对软件行业人力资源严重匮乏的现状,软帝(Softeem)基于雄厚的技术实力,研发了一套适用于企业内部员工的培训体系,使经过培训的员工能快速适应项目变换的需要,时刻掌握行业最新技术动向。
软帝(Softeem)非常注重具有自主知识产权产品的设计和开发工作,在CRM, DRP, ERP, 无线通讯, 嵌入式系统等技术领域都推出了自己的产品,并有着稳定的客户群。
嵌入式电子相册实习报告
实习报告:嵌入式电子相册设计与实现一、实习背景及目的随着科技的不断发展,嵌入式系统在各个领域的应用越来越广泛。
本次实习旨在通过设计并实现一个嵌入式电子相册,加深对嵌入式系统的理解,提高实际动手能力,培养解决实际问题的能力。
二、实习内容与过程1. 需求分析在进行电子相册的设计之前,首先进行了需求分析。
电子相册需要支持图片的浏览、添加、删除等功能,同时考虑到嵌入式设备的有限资源,需要在保证功能的前提下,尽量简化界面和操作。
2. 系统设计根据需求分析,设计了一套嵌入式电子相册的系统架构。
系统主要包括以下几个部分:(1)图像采集模块:用于从数码相机或其他图像源获取图片。
(2)图片存储模块:将获取的图片存储到嵌入式设备的存储器中。
(3)图片浏览模块:展示存储在设备中的图片,支持图片的切换、放大、缩小等功能。
(4)图片管理模块:实现图片的添加、删除、重命名等操作。
3. 硬件选择为了实现上述功能,选择了基于ARM架构的嵌入式开发板作为硬件平台。
开发板具备足够的存储空间和处理能力,可以满足电子相册的需求。
4. 软件开发在硬件选型的基础上,采用C语言进行嵌入式电子相册的软件开发。
主要完成了以下几个方面的功能:(1)图像采集:通过USB接口与数码相机通信,实现图片的传输。
(2)图片存储:将传输过来的图片存储到开发板的存储器中。
(3)图片浏览:展示存储在存储器中的图片,支持图片的切换、放大、缩小等功能。
(4)图片管理:实现图片的添加、删除、重命名等操作。
5. 系统测试与优化在完成软件开发后,对电子相册进行了系统的测试。
测试主要包括功能测试、性能测试和稳定性测试。
通过测试发现了一些问题,并对这些问题进行了优化,提高了系统的稳定性和性能。
三、实习收获与体会通过本次实习,对嵌入式系统的设计和开发有了更深入的了解。
在实际操作过程中,遇到了很多困难,但通过查阅资料、请教同学和老师,逐一解决了问题。
此外,本次实习还培养了自己的团队协作能力和沟通能力,为今后的工作打下了坚实的基础。
嵌入式电子相册实习报告
一、实习背景随着科技的不断发展,嵌入式技术在各个领域的应用越来越广泛。
电子相册作为一种便捷的存储和展示照片的工具,其需求也在不断增长。
为了更好地了解嵌入式技术在实际应用中的运用,我选择了嵌入式电子相册作为实习项目。
通过本次实习,我对嵌入式电子相册的设计与实现有了更深入的了解。
二、实习目的1. 学习嵌入式电子相册的基本原理和设计方法;2. 掌握嵌入式系统开发流程,提高动手能力;3. 了解嵌入式电子相册在实际应用中的优势与不足,为后续研究提供参考。
三、实习内容1. 系统需求分析嵌入式电子相册系统主要包括以下功能:(1)照片存储:支持多种格式的照片存储,如JPEG、PNG等;(2)照片浏览:支持图片缩放、旋转、切换等操作;(3)相册管理:支持创建、删除、修改相册,以及导入、导出照片;(4)音乐播放:支持背景音乐播放,与照片播放同步;(5)触摸操作:支持多点触摸,方便用户进行操作。
2. 系统设计嵌入式电子相册系统采用分层设计,主要分为以下几层:(1)硬件层:包括嵌入式处理器、存储器、显示屏、触摸屏等硬件设备;(2)驱动层:负责硬件设备的驱动,如显示屏驱动、触摸屏驱动等;(3)操作系统层:采用嵌入式Linux操作系统,负责系统资源的管理和调度;(4)应用层:实现电子相册的核心功能,包括照片存储、浏览、相册管理等。
3. 系统实现(1)硬件选型:根据系统需求,选择适合的嵌入式处理器、存储器、显示屏、触摸屏等硬件设备;(2)驱动开发:针对选用的硬件设备,编写相应的驱动程序,实现硬件设备的驱动;(3)操作系统配置:在嵌入式Linux操作系统上进行配置,包括网络、存储、显示等;(4)应用开发:使用C语言、C++等编程语言,实现电子相册的应用功能。
4. 系统测试与优化(1)功能测试:对电子相册的各项功能进行测试,确保功能正常;(2)性能测试:测试电子相册的运行速度、功耗等性能指标;(3)优化:根据测试结果,对系统进行优化,提高用户体验。
javaweb 电子相册 报告
javaweb 电子相册报告信息科学与工程学院实训报告学生姓名:王伟学号:08L0705219 专业班级:软件工程L082实训地点:信息楼A303实训时间:2011.12.5 -2012.01.13指导教师:张晓明2 012 年1 月实训成绩评定表目录一、实训目的 (4)二、实训任务与要求 (4)三、实训过程与内容 (4)1、需求分析 (4)1.1总体需求 (4)1.2功能需求 (5)1.3 系统用例图 (5)2、Java Web 应用程序工程制作流程 (6)2.1开发环境搭建 (6)2.2 系统设计 (6)3、实现过程 (15)3.1 JDBC连接数据库 (15)3.2 创建数据库的连接 (16)3.3创建一个Statement (16)3.4 执行SQL语句 (17)3.5JavaBean与DAO模式 (17)3.6文件上传 (17)4、关键问题与实现结果 (18)四、实训总结与心得体会 (20)五、参考文献 (21)一、实训目的本实训课程是在学生具备了Java 程序设计知识与面向对象技术的基础上,为进一步提高项目实践能力、开拓创新能力而设置的实践性环节课程。
目的掌握使用JSP应用程序设计的基本技能,熟练使用MyEclipse进行Web应用程序的编写、调试,详细说明Java Web软件项目的整个开发过程,在项目开发过程中逐步熟悉知识点,掌握Java B/S结构程序的运行原理和应用技能,最后完成一个完整的软件开发项目二、实训任务与要求掌握Java集成开发环境(IDE)Eclipse的使用和调试方法,利用JSP+Servlet+JavaBean 实现Web应用开发,掌握分层体系结构开发的技巧,完成教师指定的开发任务,本实训课程是围绕一个完整的Java项目而展开的,虽然每部分内容相对独立,但通过几次迭代开发后,最后形成一个完整的软件系统。
任务:通过实训课程结合实际案例独立完成web电子相册前台、后台的设计制作,并编码实现。
java实习报告模板(精选9篇)
java实习报告模板(精选9篇)java实习报告模板篇1毕业实习是学生大学学习阶段重要的实践性教学环节之一,通过实习学生将进一步了解社会,增强对社会主义现代化建设的责任感,使命感.实习期间,要求学生对企业(事业)单位的软件设计工作进行业务实践,使学生通过实习做到理论联系实际,充实和丰富所学的专业理论知识,培养发现问题,分析问题和解决问题的能力,为毕业后从事软件设计工作打下基础。
毕业实习有着它深刻的意义,也是大学生必经的体验,感谢学校能给我们提供机会,也感谢公司为我们提供条件。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
而我们现在学习Java是我们课程中的必修课程,更是找一份好工作的必备技能,虽然实习为期才一周,但是给我们增长很多见识,了解了大型软件开发的过程。
也学习了很多软件开发时一些技巧,更重要的是这次实习抛开了以前老师讲学生听的模式,这次老师边讲边带领我们编写程序,让我们能让学到的知识迅速巩固。
在中国软件专业人才培养工程(CSTP),北京智原教育基地。
为期5天的培训我们熟练掌握基于java的Android主流3G开发技术,能够独立完成从手机终端到服务器端完整开发方案。
使得能够掌握android相关领域基础知识,学会开发Android手机应用系统;掌握手机开发要点;培养基本的编程感觉。
在这5天时间里,我们学习了Android开发环境的搭建实现基于Android4.2 SDK的开发环境,理解DDMS等常用Android手机开发工具Android中Activity 的基本应用了解Activity对于手机UI界面的关系,实现项目的UI界面的设计,理解Android开发中的resource各种资源Android的常用组件熟悉Te_tView、EditTe_t、Spinner、ListView等常用组件,实现基本功能。
2024年Java实习报告总结(2篇)
2024年Java实习报告总结[____年Java实习报告总结]【引言】本篇报告总结了我在____年参加的Java实习项目的经验和所学到的知识。
通过这次实习,我进一步提高了Java编程技能,熟悉了一系列Java开发工具和框架,并且在项目中学会了如何与团队协作和解决问题。
以下是我在实习期间的主要收获和总结。
【实习背景】我在____年暑期加入了一家软件开发公司进行Java实习,项目的目标是开发一个企业级应用程序。
这个项目涉及到了从需求分析到设计、开发、测试和部署等全过程的软件开发流程,为我提供了一个全面的学习和实践的机会。
【收获与成长】在这次实习中,我取得了以下几个方面的收获与成长:1. Java编程技能的提升:通过这次实习,我进一步熟悉了Java编程语言,并且学会了如何运用Java来解决实际问题。
我通过参与项目的开发,学会了如何设计和实现高效的Java代码,如何利用Java的面向对象特性来组织和管理代码,以及如何运用常用的Java开发工具和框架来提升开发效率和代码质量。
2. 深入理解软件开发流程:在这个项目中,我有机会全面了解了软件开发的各个环节和流程,包括需求分析、设计、开发、测试和部署等。
我学会了如何根据需求分析来设计软件架构和数据库模型,如何利用设计模式和重构技术来优化代码结构,以及如何进行软件测试和集成等。
这为我将来从事软件开发工作提供了很大的帮助。
3. 团队合作与沟通能力的提升:在这个项目中,我和其他实习生一起组成了一个开发团队,我们通过分工合作的方式共同完成了项目的开发任务。
在这个过程中,我学会了如何与他人协作,如何合理分配任务和资源,以及如何有效地沟通与协调。
团队合作的经验不仅提高了我的团队合作能力,也培养了我的领导能力和解决问题的能力。
【面临的挑战与解决方案】在实习期间,我也遇到了一些挑战,但通过不断的学习和努力,我成功地解决了这些挑战。
以下是我遇到的主要挑战和解决方案:1. 技术知识的不足:作为一个实习生,我在开始实习时对Java的理解和掌握还不够深入,面对复杂的项目需求和开发任务,我有时会感到力不从心。
Java_web电子相册实习报告
信息科学与工程学院实训报告学生姓名:学号:专业班级:实训地点:实训时间:2011.12.5-2012.01.5 指导教师:2011 年12月实训成绩评定表一、实训目的在学生具备了java程序设计知识与面向对象技术的基础上,为了进一步提高项目实践能力、开拓创新能力。
掌握使用JSP应用程序设计的基本技能,熟练使用Eclipse进行Web应用程序的编写、调试。
结合案例详细说明Java Web软件项目的整个开发过程,在项目开发过程中逐步熟悉知识点,掌握Java B/S结构程序的运行原理和应用技能,最后完成一个完整的软件开发项目。
二、实训任务和要求1、掌握java集成开发环境(IDE)Eclipse的使用和调试方法。
2、利用JSP+Servlet+JavaBean实现Web应用开发。
3、掌握分层体系结构开发的技巧。
4、完成电子相册项目并应用以上方法。
三、实训过程与内容电子相册项目的需求分析(一)电子相册项目功能分析电子相册项目主要包括一下两个模块。
(1)管理员模块本模块主要是由管理员登录,管理员修改密码,相册管理,图片管理四部分组成,管理员可以添加相册,删除相册,添加图片,删除图片,查看评论,删除评论(2)普通用户模块本模块主要由登录,注册,查看图片,对图片发表评论四部分组成(二)电子相册项目技术架构图用经典的MVC分层设计模式,将模型(Model)、视图(View)、控制器(Control)各层单独设计实现,各层之间也有联系。
这样便于代码重用和维护,具有良好的可读性、可重用性和可扩展性。
电子相册项目技术框架图如图1所示:图1 项目技术框架电子相册项目的概要设计(一)系统功能模块图本系统分为前台和后台设计,其中前台设计针对的是普通用户,后台设计针对的是管理员。
1.前台设计前台设计主要实现的功能有:登陆、注册、查看图片、发表评论。
前台功能模块图如图2所示:图2前台功能模块图2.后台设计后台设计实现的功能主要有:管理员登陆、密码修改、相册管理、添加图片、查看图片,管理评论。
java电子相册实习报告及代码
目录一、程序设计 (1)一、课程设计的目的、任务与要求 (1)1、目的 (1)2、任务及要求 (1)二、设计方式和安排 (1)三、考核内容和方式 (1)四、设计内容 (1)二、程序代码 (2)一、程序截图 (2)二、程序代码 (3)三、心得体会 (14)教师评语 (15)一、程序设计一、课程设计的目的、任务与要求1、目的(1)掌握Java语言的程序设计方法;(2)理论联系实际,进一步提高学生的软件开发技术;(3)培养学生分析、解决问题的能力;(4)提高学生实践论文撰写能力。
2、任务及要求(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;(2)掌握JAVA基本编程技术和方法;(3)掌握GUI图形界面编程技术;(4)了解异常处理机制。
二、设计方式和安排1.分组选题:最多2人为一组,每组一个课题(可根据课题工作量大小,合理分配人数),每组设组长一名,负责该组设计工作的协调、分工等。
设计过程:2. 分析设计准备阶段(按组讨论、对系统功能进行分析,并进行明确分工);3. 编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)三、考核内容和方式1、在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。
2、结合学生的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据考勤、设计说明书质量分优、良、中、及格和不及格五等。
四、设计内容本次实践教学采用学生集中在学校网络机房上机,指导老师指导的形式。
要求学生用所学的面向对象程序设计语言——JA V A来编写程序,实现特定功能,以加深对面向对象程序设计这个概念的理解。
这次我编写的程序是电子相册,主要功能是实现本次设计的图片查看器实现了在用户选定的文件目录下循环浏览指定后缀的图片文件,并且可以对选择的图片进行放大,缩小,左旋,右旋,另存,彻底删除等操作。
电子相册认知实习报告
一、实习背景与目的随着数字技术的飞速发展,电子相册作为一种新兴的存储和展示照片的方式,已经逐渐成为人们日常生活中不可或缺的一部分。
为了更好地了解电子相册的制作流程、功能特点以及其在社会生活中的应用,我们组织了一次电子相册认知实习活动。
本次实习旨在通过实际操作,提高学生对电子相册制作的认识,培养其审美能力和创意思维,并加深对数字媒体技术的理解。
二、实习时间与地点实习时间:20xx年x月x日至20xx年x月x日实习地点:XX大学数字媒体实验室三、实习内容与过程1. 理论讲解:首先,由专业老师对电子相册的基本概念、发展历程、制作软件以及常见功能进行了详细讲解。
同学们对电子相册有了初步的认识,了解了其制作的基本步骤和技巧。
2. 软件学习:随后,同学们在老师的指导下,学习了电子相册制作软件的使用方法。
通过实际操作,掌握了软件的基本功能,如图片导入、编辑、排版、添加音乐和文字等。
3. 实际操作:同学们分组进行实际操作,将所学知识应用于实践。
在操作过程中,大家积极讨论,互相学习,共同完成了一系列富有创意的电子相册作品。
4. 作品展示与交流:实习结束后,各小组展示了各自的作品,并进行了交流和点评。
同学们从作品中发现问题,相互学习,共同进步。
四、实习收获与体会1. 知识储备:通过本次实习,同学们对电子相册的制作流程、软件使用和功能特点有了全面了解,为今后进行相关实践奠定了基础。
2. 审美能力:在制作电子相册的过程中,同学们学会了如何运用色彩、排版等手法,提高作品的美观度,培养了良好的审美能力。
3. 创意思维:通过实际操作,同学们激发了创意思维,将所学知识与实践相结合,创作出富有个性化的电子相册作品。
4. 团队合作:在实习过程中,同学们学会了与他人合作,共同完成任务,提高了团队协作能力。
五、实习建议1. 增加实习时间,让同学们有更多的时间进行实际操作和创作。
2. 邀请专业人士进行讲座,分享电子相册制作的经验和技巧。
java实习日记和实习报告
java实习日记和实习报告《Java 实习日记和实习报告》作为一名计算机专业的学生,能找到一份与 Java 相关的实习工作,那感觉就像是在游戏中捡到了顶级装备,兴奋又紧张。
今天,我就来和大家分享一下我这段充满挑战与惊喜的 Java 实习之旅。
还记得实习的第一天,我早早地起床,穿上了自认为最得体的衬衫和西裤,对着镜子给自己打了打气,就怀着忐忑的心情出发了。
公司位于市中心的一座高大写字楼里,走进那宽敞明亮的大厅,我的心都快提到嗓子眼了。
到了公司,我被领到了一个小小的工位上,旁边堆满了各种代码书籍和技术文档。
我的直属上司是一位看起来很严肃,但其实特别热心肠的大哥,他简单地给我介绍了一下公司的项目和团队成员,然后就扔给我一堆资料,让我先熟悉熟悉 Java 的基本语法和开发环境。
我打开电脑,看着满屏幕的陌生代码和图标,脑袋一阵发懵。
这时候我才发现,学校里学的那些知识,在真正的项目面前,简直就是小儿科。
但咱也不能退缩啊,硬着头皮开始啃那些资料。
过了几天,上司觉得我基础知识掌握得差不多了,就给我分配了一个小任务——写一个简单的 Java 程序,实现用户登录功能。
这可把我难住了,虽然在学校里也写过类似的代码,但那都是在老师的指导下,一步一步完成的。
现在要自己独立完成,还真有点不知所措。
我坐在工位上,抓耳挠腮地想了半天,终于有了一点思路。
我打开IDE(集成开发环境),开始噼里啪啦地敲代码。
写了一会儿,我突然发现自己忘了考虑用户密码的加密问题,又赶紧回头修改。
好不容易把代码写完了,满心欢喜地点击运行,结果却出现了一堆错误提示。
我的心一下子凉了半截,这可怎么办啊?没办法,只能一行一行地检查代码,找错误。
经过几个小时的努力,终于找到了问题所在,原来是一个变量名写错了。
修改好之后,再次运行,程序终于成功了!那一刻,我兴奋得差点跳起来,感觉自己就像攻克了一座城堡一样有成就感。
在接下来的日子里,我又陆续参与了一些项目的开发工作,遇到的问题也是五花八门。
java毕业实习报告范文(通用5篇)
java毕业实习报告范文(通用5篇)实习报告范文一:尊敬的导员:您好!我是×××专业的一名大学生,在近期结束了为期三个月的实习。
我很荣幸有机会向您汇报我在实习中所取得的成果。
本次实习我选择进入一家软件公司,担任Java开发工程师的实习岗位。
在公司的三个月时间里,我参与了多个项目的开发,并且有幸参与了其中一个重要项目的核心开发工作。
首先,我在实习期间接触了大量的Java开发相关知识,并通过实际的项目经验加深了对Java语言的理解。
我熟练掌握了Java的基础语法、面向对象编程的思想以及常用的开发工具和框架。
同时,我还学习了Java的高级特性,包括多线程编程、网络编程、数据库操作等。
这些知识的学习使我在实践中更加得心应手。
其次,在实习期间我参与了一个名为“智能家居控制系统”的项目。
该项目要求我们设计并实现一个能够通过手机App控制家居设备的系统。
我负责该项目的核心模块开发,主要包括用户管理、设备管理、远程控制等功能。
我按照项目需求进行了系统设计,并且使用Java语言进行了编码工作。
最终,我成功地完成了项目并交付给了客户,获得了较好的用户评价。
最后,在实习期间我还发现了自己的不足之处,并积极采取了措施进行改进。
我深刻认识到了软件开发工作的复杂性和团队协作的重要性。
在项目开发中,我与团队成员密切合作,相互学习和交流,不断提高自己的技术水平和团队协作能力。
通过这次实习,我不仅提高了自己的专业技能,还增强了自己的团队协作和沟通能力。
我深感自己在未来的工作中仍需继续努力,不断学习和提升自己。
我相信,通过这次实习,我已经为将来的工作打下了坚实的基础。
最后,再次感谢您对我的指导和支持,在这次实习中我学到了很多宝贵的经验,也得到了锻炼和成长。
希望在未来的学习和工作中,我能够继续提高自己,为社会做出更多的贡献。
谢谢!此致敬礼×××。
Java实习报告范文(通用4篇)
Java实习报告范文(通用4篇)Java范文篇1在本学期的二周时间内,我们在学校机房进行了为期二周的JAVA 实训。
现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,也学到平常在课堂中没有学到的东西,在JAVAAPI中又多认识了几种类,使我对JAVA产生了浓厚的兴趣。
两周的时间说长也不长,在这两周中,我们的实训任务是仓库管理系统,在演示过程中,并没有觉得它有很难,但在实际编程过程中,却遇到了各种各样的错误,这也多亏了老师的指点和班级同学的帮忙,使我一步步克服了实训过程中遇到的困难。
虽然我所做的系统并没有实现所有功能,但是我觉得自己进步了,很多原来都不懂的东西现在都已经了解了,也培养了我的团队合作精神,让我感受到了集体的温暖。
实训的过程与课堂上的讲课比,更为有趣,因为可以真正的自己动手操作,使我对老师上课所讲的内容有了更深一步的了解,使我在以后的编程中可以灵活运用。
我期待以后有更多类似的实训,使我们可以多掌握一项技能,也可以让我们在以后找工作中可以有更多的实践经验。
学知识可不能凭自己的爱好和一时兴趣,要一步一个脚印,认认真真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象的编程语言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。
所以学好java语言有很大的用处,这次实训,我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,最后在自己的努力下,终于运行成功,这种成就感美不可言,心情愉悦至极。
最后终于要结束了,大家都有种释怀的感觉,当然我想我更多的是兴奋和自己掌握了知识之后的饱满感,学知识就像吃东西一样,吃饱了就应该好好的消化。
java学习心得实习报告(6篇免费下载).doc
java学习心得实习报告(6篇免费下载)java学习心得实习报告篇1容我先说句废话,经过同学们多次的互相理论与向上建议,对于第二次次实习地点安排在学校这个结果我还是非常高兴的,毕竟少了很多旅途劳累。
这次实习内容是javaweb,我想应该与本学期开过javaweb这门课有关,毕竟上学期学过java和数据库,本觉得应该会比较轻松,开始之前大家都说这实习可是可以放松了,可是等老师开始讲之后发现这个东西理论上知识点不多,可是应用起来还是感到非常困难。
这次实习老师风格与上次实习的那位不同,去年那简直是从零开始讲,这次上来没细讲java和SQL,直接jsp。
于是上学期开过的、纸上谈兵的java课就露出破绽了,简直要从头学起,更别说与jsp、sql 融合了。
另外用jsp写网页嘛,这个语言不是很火,去Github上找,开发web 应用的大多是php、python,而servlet这个东西非常基础,甚至并不能算作一个开发框架,所以网上的资料也并不好找,网上都是些Struts2、Spring3、Hibernate,总之这开始的时候就很是艰难,晚上回到宿舍也经常要花很多时间来补之前的知识,java封装继承什么的,当然,这很累。
白天听课并不能高效的吸收老师所讲的,下来问了一下同学们是差不多的情况,可能是老师的节奏我们不太习惯。
不过这学完也终究是会了一些,大概说一下,JSP全名JavaServerPages,一种动态网页技术,所谓动态就是可以与用户交互就像论坛什么的,而html静态页面就是只能给用户看的。
首先,我们配置了几个环境:java的JDK和服务器Tomcat。
至于IDE,我还是用我比较顺手的jetbrain家的IntelliJIDEA,对了,不用Eclipse是因为它丑。
之前都是写静态页面,对于动态页面的环境配置还真是头疼了一段时间,看了一些博客,发现这个主要是在File——ProjectStructure配置依赖的jar包,还有就是tomcat服务器的配置。
java课程设计滚动相册实验报告
java课程设计滚动相册实验报告Java课程设计滚动相册实验报告一、引言本报告旨在介绍Java课程设计中的滚动相册实验。
滚动相册是一种常见的图像展示方式,通过滚动显示不同的图片,可以给用户带来良好的视觉体验。
本次实验旨在通过使用Java编程语言和相关库,设计并实现一个简单的滚动相册应用程序。
二、实验目标本次实验的主要目标包括:1. 学习使用Java编程语言和相关库进行图像处理;2. 设计并实现一个基于Java的滚动相册应用程序;3. 实现图片的加载、切换和自动滚动功能。
三、实验过程1. 环境准备在开始实验之前,需要准备以下环境:- Java开发环境(JDK)- 图像处理相关库(如AWT、Swing等)2. 图片加载需要从指定路径加载图片。
可以使用Java提供的ImageIO类来读取图像文件,并将其转换为BufferedImage对象。
可以使用Graphics类中的drawImage方法将图像绘制到屏幕上。
3. 图片切换实现图片切换功能可以为用户提供更好的浏览体验。
可以通过监听用户的鼠标事件或键盘事件来触发图片切换操作。
在切换图片时,可以使用Graphics类的clearRect方法清除屏幕上的旧图像,并使用drawImage方法绘制新图像。
4. 自动滚动为了实现自动滚动功能,可以使用定时器(Timer)类来控制图片的切换频率。
定时器可以按照设定的时间间隔自动触发指定的操作,例如切换图片。
可以通过创建一个定时器对象,并设置其时间间隔和触发事件,然后启动定时器。
四、实验结果经过以上步骤的实现,最终得到了一个滚动相册应用程序。
该程序可以加载指定路径下的多张图片,并在屏幕上进行展示。
用户可以通过鼠标或键盘进行图片切换操作,也可以选择启用自动滚动功能。
五、实验总结通过本次实验,我学习并掌握了Java编程语言和相关库进行图像处理的基本技术。
同时,我还学会了如何设计并实现一个简单的滚动相册应用程序。
在实验过程中,我遇到了一些困难和挑战,但通过查阅资料和与同学们交流讨论,最终成功解决了问题。
Java web 电子相册 实习报告
河北科技大学信息科学与工程学院实训报告学生姓名:学号:专业班级:实训地点:河北科技大学实训时间:2011.12.5-2012.01.5 指导教师:2011 年12月实训成绩评定表一、实训目的在学生具备了java程序设计知识与面向对象技术的基础上,为了进一步提高项目实践能力、开拓创新能力。
掌握使用JSP应用程序设计的基本技能,熟练使用Eclipse进行Web应用程序的编写、调试。
结合案例详细说明Java Web软件项目的整个开发过程,在项目开发过程中逐步熟悉知识点,掌握Java B/S结构程序的运行原理和应用技能,最后完成一个完整的软件开发项目。
二、实训任务和要求1、掌握java集成开发环境(IDE)Eclipse的使用和调试方法。
2、利用JSP+Servlet+JavaBean实现Web应用开发。
3、掌握分层体系结构开发的技巧。
4、完成电子相册项目并应用以上方法。
三、实训过程与内容电子相册项目的需求分析(一)电子相册项目功能分析电子相册项目主要包括一下两个模块。
(1)管理员模块本模块主要是由管理员登录,管理员修改密码,相册管理,图片管理四部分组成,管理员可以添加相册,删除相册,添加图片,删除图片,查看评论,删除评论(2)普通用户模块本模块主要由登录,注册,查看图片,对图片发表评论四部分组成(二)电子相册项目技术架构图用经典的MVC分层设计模式,将模型(Model)、视图(View)、控制器(Control)各层单独设计实现,各层之间也有联系。
这样便于代码重用和维护,具有良好的可读性、可重用性和可扩展性。
电子相册项目技术框架图如图1所示:图1 项目技术框架电子相册项目的概要设计(一)系统功能模块图本系统分为前台和后台设计,其中前台设计针对的是普通用户,后台设计针对的是管理员。
1.前台设计前台设计主要实现的功能有:登陆、注册、查看图片、发表评论。
前台功能模块图如图2所示:图2前台功能模块图2.后台设计后台设计实现的功能主要有:管理员登陆、密码修改、相册管理、添加图片、查看图片,管理评论。
java实习报告范文5篇
java实习报告范文5篇2019优秀java实习报告范文(一)一:实习介绍1)实习题目学生信息管理系统的设计与开发2)实习目的《Java程序设计》课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三周的实践教学,旨在提升本专业学生对此课程中的理论知识的综合应用能力、提高学生的逻辑思维能力、软件开发能力。
本次课程实习要求学生用Java技术在Windows平台下开发学生信息管理系统。
通过此程序的开发能够切实提高学生的程序设计水平,在实践中掌握面向对象程序设计的开发思想。
3)开发环境操作系统;Windows XP编程环境:MyEclipse 6.0主要技术:Java Swing实现窗体界面JDBC实现数据库操作系统架构:三层架构(MVC)+DAO设计模式数据库:MySQL5.0二:课设内容;1)系统功能需求学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。
我们的目标就是为该系统提供前台用户界面设计以及后台连接数据库程序设计,系统程序界面采用Java Swing组件实现,数据库操作采用JDBC 实现。
学生信息管理系统要面对教师和学生用户。
对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。
对于学生,不需要查询自己的基本信息,只需要查询成绩。
为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩。
教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。
在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。
在查询学生基本信息时,可以从依据不同字段,即学生信息表的不同属性进行查找。
在查找学生成绩信息时,只能依据学生姓名和学号进行查找。
在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录。
java实训个人总结报告5篇
java实训个人总结报告5篇篇1一、引言本次Java实训旨在提升个人在Java编程语言方面的能力,通过系统地学习和实践,加深对Java基础语法、面向对象编程、常用数据结构与算法、网络编程、数据库操作等方面的理解和掌握。
在为期一个月的实训中,我积极参与,认真完成每一个任务,不仅巩固了理论知识,还提高了实际操作能力。
二、主要收获1. 深入理解了Java基础语法:通过学习Java的基础语法,如变量、数据类型、运算符、流程控制等,我能够熟练编写基本的Java程序,为后续的学习奠定了坚实的基础。
2. 掌握了面向对象编程的思想:Java是一种面向对象的语言,通过学习和实践,我逐渐掌握了面向对象编程的思想,包括类的定义、对象的创建、封装、继承、多态等概念,能够运用这些思想来解决实际问题。
3. 熟悉了常用数据结构与算法:在Java中,提供了丰富的数据结构和算法库,通过学习这些内容,我能够熟练运用数组、列表、集合等数据结构,并掌握了一些常用的排序、查找等算法。
4. 了解了网络编程的基本原理:在网络编程方面,我学习了Java 中的Socket编程、HTTP通信等基本原理,并能够运用这些原理来编写简单的网络应用程序。
5. 学会了数据库操作的基本方法:在数据库操作方面,我学习了Java中的JDBC技术,并能够运用这种技术来连接数据库、执行SQL 语句、处理结果集等基本操作。
三、个人感受通过本次Java实训,我不仅巩固了理论知识,还提高了实际操作能力。
在学习的过程中,我感受到了Java语言的强大和灵活,同时也意识到了自己的不足和需要改进的地方。
在未来的学习和工作中,我会继续努力,不断提高自己的编程能力。
四、存在的问题及改进措施在本次Java实训中,我发现自己在某些方面还存在不足,如对一些高级特性和优化技巧的了解不够深入,在实际应用中还需要进一步学习和掌握。
此外,在编程实践中,我还需要加强自己的代码规范性和可读性,避免出现一些低级错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一、程序设计.............................................. 错误!未定义书签。
一、课程设计的目的、任务与要求.... 错误!未定义书签。
1、目的............................................. 错误!未定义书签。
2、任务及要求................................. 错误!未定义书签。
二、设计方式和安排 ............................ 错误!未定义书签。
三、考核内容和方式 ............................ 错误!未定义书签。
四、设计内容 ........................................ 错误!未定义书签。
二、程序代码.............................................. 错误!未定义书签。
一、程序截图 ........................................ 错误!未定义书签。
二、程序代码 ........................................ 错误!未定义书签。
三、心得体会.............................................. 错误!未定义书签。
教师评语...................................................... 错误!未定义书签。
一、程序设计一、课程设计的目的、任务与要求1、目的(1)掌握Java语言的程序设计方法;(2)理论联系实际,进一步提高学生的软件开发技术;(3)培养学生分析、解决问题的能力;(4)提高学生实践论文撰写能力。
2、任务及要求(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;(2)掌握JAVA基本编程技术和方法;(3)掌握GUI图形界面编程技术;(4)了解异常处理机制。
二、设计方式和安排1.分组选题:最多2人为一组,每组一个课题(可根据课题工作量大小,合理分配人数),每组设组长一名,负责该组设计工作的协调、分工等。
设计过程:2. 分析设计准备阶段(按组讨论、对系统功能进行分析,并进行明确分工);3. 编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)三、考核内容和方式1、在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。
2、结合学生的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据考勤、设计说明书质量分优、良、中、及格和不及格五等。
四、设计内容本次实践教学采用学生集中在学校网络机房上机,指导老师指导的形式。
要求学生用所学的面向对象程序设计语言——JA V A来编写程序,实现特定功能,以加深对面向对象程序设计这个概念的理解。
这次我编写的程序是电子相册,主要功能是实现本次设计的图片查看器实现了在用户选定的文件目录下循环浏览指定后缀的图片文件,并且可以对选择的图片进行放大,缩小,左旋,右旋,另存,彻底删除等操作。
二、程序代码一、程序截图二、程序代码import java.awt.*;import ;import ;import ;import javax.swing.*;import ;import java.io.*;import java.applet.*;public class pic extends {Image pic; // 查看的图片BufferedImage bufImage; //用于显示的缓冲区图像BufferedImage oriBufImage; //原始缓冲区图像Graphics2D bufImageG; //缓冲区图像的图形环境String path, filename, dir; // 需要查看图片的路径String[] pics; // 目录下所有指定格式的图片int picWidth, picHeight; // 图片大小int i = 0;final double ZOOM_PERCENT = 0.15; // 每次放大和缩小的倍率final String FILE_TYPE = ".jpg";boolean hasPic, isangled;double scaleX; //图像水平方向的缩放因子double scaleY; //图像竖直方向的缩放因子double radius; // 旋转角度Filter filterJpg;public pic() {initComponents();}@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {buttonGroup1 = new ;buttonGroup2 = new ;jButton10 = new ;openbtn = new ;zoominbtn = new ;zoomoutbtn = new ;oripicbtn = new ;prebtn = new ;nextbtn = new ;angleleftbtn = new ;anglerightbtn = new ;deletebtn = new ;savebtn = new ;exitbtn = new ;pathInfo = new ;jMenuBar1 = new ;jMenu1 = new ;jMenu2 = new ;jButton10.setText("jButton10");setDefaultCloseOperation(;openbtn.setText("打开");openbtn.addActionListener(new {public void actionPerformed( evt) {openbtnActionPerformed(evt);}});openbtn.addKeyListener(new {public void keyPressed( evt) {openbtnKeyPressed(evt);}});zoominbtn.setText("放大"); zoominbtn.addMouseListener(new { public void mouseClicked( evt) {zoominbtnMouseClicked(evt);}});zoomoutbtn.setText("缩小"); zoomoutbtn.addMouseListener(new { public void mouseClicked( evt) {zoomoutbtnMouseClicked(evt);}});oripicbtn.setText("还原");oripicbtn.addMouseListener(new {public void mouseClicked( evt) {oripicbtnMouseClicked(evt);}});prebtn.setText("上一张");prebtn.addMouseListener(new {public void mouseClicked( evt) {prebtnMouseClicked(evt);}});nextbtn.setText("下一张");nextbtn.addMouseListener(new {public void mouseClicked( evt) {nextbtnMouseClicked(evt);}});angleleftbtn.setText("左旋"); angleleftbtn.addMouseListener(new { public void mouseClicked( evt) {angleleftbtnMouseClicked(evt);}});anglerightbtn.setText("右旋"); anglerightbtn.addMouseListener(new { public void mouseClicked( evt) {anglerightbtnMouseClicked(evt);}});deletebtn.setText("删除");deletebtn.addMouseListener(new {public void mouseClicked( evt) {deletebtnMouseClicked(evt);}});savebtn.setText("另存为");savebtn.addMouseListener(new {public void mouseClicked( evt) {savebtnMouseClicked(evt);}});exitbtn.setText("退出");exitbtn.addMouseListener(new {public void mouseClicked( evt) {exitbtnMouseClicked(evt);}});jMenu1.setText("File");jMenuBar1.add(jMenu1);jMenu2.setText("Edit");jMenuBar1.add(jMenu2);setJMenuBar(jMenuBar1);layout = new ;getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(.addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(.addGroup(layout.createSequentialGroup().addComponent(openbtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(zoominbtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(zoomoutbtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(oripicbtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(prebtn, , 69, Short.MAX_V ALUE).addPreferredGap(.addComponent(nextbtn, , 69, Short.MAX_V ALUE).addPreferredGap(.addComponent(angleleftbtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(anglerightbtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(deletebtn, , 57, Short.MAX_V ALUE).addPreferredGap(.addComponent(savebtn, , 69, Short.MAX_V ALUE).addPreferredGap(.addComponent(exitbtn, , , Short.MAX_VALUE)).addComponent(pathInfo, , 137,.addContainerGap()));layout.setVerticalGroup(layout.createParallelGroup(.addGroup(, layout.createSequentialGroup().addComponent(pathInfo, , 39,.addPreferredGap(, 391, Short.MAX_V ALUE).addGroup(layout.createParallelGroup(.addComponent(openbtn).addComponent(zoominbtn).addComponent(zoomoutbtn).addComponent(oripicbtn).addComponent(prebtn).addComponent(nextbtn).addComponent(angleleftbtn).addComponent(anglerightbtn).addComponent(deletebtn).addComponent(savebtn).addComponent(exitbtn)).addContainerGap()));pack();}// </editor-fold>private void openbtnActionPerformed( evt) {JButton msg = new JButton();JFileChooser chooser = new JFileChooser();// 只显示文件夹和jpg格式的文件FileNameExtensionFilter filter = new FileNameExtensionFilter("*.JPG", "jpg");//建立过滤器,只显示jpgchooser.setFileFilter(filter);chooser.setCurrentDirectory(new File(""));int returnVal = chooser.showOpenDialog(msg);// 根据返回值判断是否选择了文件if(returnVal == JFileChooser.APPROVE_OPTION) {// 获取文件名filename = chooser.getSelectedFile().getName();// 获取文件路径path = chooser.getCurrentDirectory().getPath();// 获取文件路径下所有jpg文件filterJpg = new Filter(FILE_TYPE);File file = new File(path);pics = file.list();pics = file.list(filterJpg);//跟踪选中的图片for(int j=0;j<pics.length;j++)if(pics[j].equalsIgnoreCase(filename)){i=j;break;}dir = path + "\\" + filename;hasPic = true;loadImage(dir);pathInfo.setForeground(Color.BLACK);pathInfo.setText(path + "\\" + filename);prebtn.setEnabled(true);nextbtn.setEnabled(true);zoominbtn.setEnabled(true);zoomoutbtn.setEnabled(true);angleleftbtn.setEnabled(true);anglerightbtn.setEnabled(true);deletebtn.setEnabled(true);savebtn.setEnabled(true);} else {hasPic = false;pathInfo.setForeground(Color.RED);pathInfo.setText("没有选择文件!");} // TODO add your handling code here:}private void openbtnKeyPressed( evt) {JButton msg = new JButton();JFileChooser chooser = new JFileChooser();// 只显示文件夹和jpg格式的文件FileNameExtensionFilter filter = new FileNameExtensionFilter("*.JPG", "jpg");//建立过滤器,只显示jpgchooser.setFileFilter(filter);chooser.setCurrentDirectory(new File(""));int returnVal = chooser.showOpenDialog(msg);// 根据返回值判断是否选择了文件if(returnVal == JFileChooser.APPROVE_OPTION) {// 获取文件名filename = chooser.getSelectedFile().getName();// 获取文件路径path = chooser.getCurrentDirectory().getPath();// 获取文件路径下所有jpg文件filterJpg = new Filter(FILE_TYPE);File file = new File(path);pics = file.list();pics = file.list(filterJpg);//跟踪选中的图片for(int j=0;j<pics.length;j++)if(pics[j].equalsIgnoreCase(filename)){i=j;break;}dir = path + "\\" + filename;hasPic = true;loadImage(dir);pathInfo.setForeground(Color.BLACK);pathInfo.setText(path + "\\" + filename);prebtn.setEnabled(true);nextbtn.setEnabled(true);zoominbtn.setEnabled(true);zoomoutbtn.setEnabled(true);angleleftbtn.setEnabled(true);anglerightbtn.setEnabled(true);deletebtn.setEnabled(true);savebtn.setEnabled(true);} else {hasPic = false;pathInfo.setForeground(Color.RED);pathInfo.setText("没有选择文件!");} // TODO add your handling code here:}private void prebtnMouseClicked( evt) {// 循环浏览图片if(i == 0) {i = pics.length-1;} else {i --;}dir = path + "\\" + pics[i];pathInfo.setText(dir);hasPic = true;isangled = false;scaleX = 1.0;scaleY = 1.0;loadImage(dir);oripicbtn.setEnabled(false); // TODO add your handling code here: }private void nextbtnMouseClicked( evt) {if(i == pics.length-1) {i = 0;} else {i ++;}dir = path + "\\" + pics[i];pathInfo.setText(dir);hasPic = true;isangled = false;scaleX = 1.0;scaleY = 1.0;loadImage(dir);oripicbtn.setEnabled(false); // TODO add your handling code here: }private void zoominbtnMouseClicked( evt) {if(scaleX <1.7) {scaleX += ZOOM_PERCENT;scaleY += ZOOM_PERCENT;} else {scaleX = 1.8;scaleY = 1.8;pathInfo.setForeground(Color.RED);pathInfo.setText("已经放到最大!");}hasPic = true;picTrans();repaint(); //重绘组件pathInfo.setForeground(Color.BLACK);pathInfo.setText(dir);if(scaleX == 1) {oripicbtn.setEnabled(false);} else{oripicbtn.setEnabled(true);} // TODO add your handling code here:}private void zoomoutbtnMouseClicked( evt) {if(scaleX >0.8 ) {scaleX -= ZOOM_PERCENT;scaleY -= ZOOM_PERCENT;} else {scaleX = 0.2;scaleY = 0.2;pathInfo.setForeground(Color.RED);pathInfo.setText("已经缩至最小!");}hasPic = true;picTrans();repaint(); //重绘组件pathInfo.setForeground(Color.BLACK);pathInfo.setText(dir);if(scaleX == 1) {oripicbtn.setEnabled(false);} else{oripicbtn.setEnabled(true);} // TODO add your handling code here:}private void oripicbtnMouseClicked( evt) {scaleX = 1;scaleY = 1;radius = 0;hasPic = true;picTrans();repaint(); //重绘组件pathInfo.setForeground(Color.BLACK);pathInfo.setText(path + "\\" + filename);oripicbtn.setEnabled(false); // TODO add your handling code here: }private void angleleftbtnMouseClicked( evt) {isangled = true;radius += -Math.PI / 2; // 设置每次左旋45度角repaint();oripicbtn.setEnabled(true); // TODO add your handling code here: }private void anglerightbtnMouseClicked( evt) {isangled = true;radius += Math.PI / 2; // 设置每次右旋45度角repaint();oripicbtn.setEnabled(true); // TODO add your handling code here: }private void deletebtnMouseClicked( evt) {File f = new File(path + "\\" + pics[i]);if(f.exists())f.delete();else{pathInfo.setForeground(Color.BLACK);pathInfo.setText("文件不存在");}for(int j=i;j<pics.length-1;j++)pics[j]=pics[j+1];if(i==pics.length-1)i=0;dir = path + "\\" + pics[i];loadImage(dir); // TODO add your handling code here: }private void exitbtnMouseClicked( evt) {hasPic = false;System.exit(1); // TODO add your handling code here: }private void savebtnMouseClicked( evt) {try{JButton msgsave = new JButton();JFileChooser chooser = new JFileChooser();// 只显示文件夹和jpg格式的文件FileNameExtensionFilter filter = new FileNameExtensionFilter("*.JPG", "jpg");//建立过滤器,只显示jpgchooser.setFileFilter(filter);File fin = new File(path + "\\" + pics[i]);File f = new File("" + "\\" + pics[i]);chooser.setSelectedFile(f);int returnVal = chooser.showSaveDialog(msgsave);// 根据返回值判断是否选择了文件路径if(returnVal == JFileChooser.APPROVE_OPTION) {// 获取文件路径path = chooser.getCurrentDirectory().getPath();File fileout = new File(path + "\\" + chooser.getSelectedFile().getName());FileInputStream isr = new FileInputStream(fin);FileOutputStream fout = new FileOutputStream(fileout);byte b[] = new byte[200];int count = 0;while((count = isr.read(b, 0, 200))!=-1)fout.write(b,0,count);isr.close();fout.flush();fout.close();} }catch(Exception e){}// TODO add your handling code here:}public void loadImage(String fileName) {pic = this.getToolkit().getImage(fileName); //取得图像MediaTracker mt = new MediaTracker(this); //实例化媒体加载器,跟踪多种媒体对象状态mt.addImage(pic, 0); //增加图像到加载器中picWidth = pic.getWidth(this);picHeight = pic.getHeight(this);try {mt.waitForAll(); // 等待图片加载} catch (Exception e) {e.printStackTrace(); //输出出错信息}oriBufImage = new BufferedImage(pic.getWidth(this),pic.getHeight(this),BufferedImage.TYPE_INT_ARGB); //创建原始缓冲区图像bufImage = oriBufImage;bufImageG = bufImage.createGraphics(); //创建bufImage的图形环境bufImageG.drawImage(pic, 0, 0, this); //传输源图像数据到缓冲区图像中repaint(); //重绘组件}public void picTrans() {if (bufImage == null)return; // 如果bufImage为空则直接返回BufferedImage filteredBufImage = new BufferedImage((int) (pic.getWidth(this) * scaleX),(int) (pic.getHeight(this) * scaleY),BufferedImage.TYPE_INT_ARGB); // 过滤后的图像AffineTransform transform = new AffineTransform(); // 2D仿射变换transform.setToScale(scaleX, scaleY); // 设置仿射变换的比例因子AffineTransformOp imageOp = new AffineTransformOp(transform, null); // 创建仿射变换操作对象imageOp.filter(oriBufImage, filteredBufImage); // 过滤图像,目标图像在filteredBufImagebufImage = filteredBufImage; // 让用于显示的缓冲区图像指向过滤后的图像}// 重写update(),消除闪烁public void update(Graphics g) {this.paint(g);}public void paint(Graphics g) {int panelWidth = this.getWidth();int panelHeight = this.getHeight();super.paint(g);// 判断是否需要旋转图片if(bufImage != null && isangled == true) {Graphics2D g2 = (Graphics2D) g;AffineTransform tx = new AffineTransform();// 按照角度,根据中心旋转tx.rotate(radius, panelWidth/2, panelHeight/2);g2.setTransform(tx);picTrans();g2.drawImage(bufImage, (panelWidth - bufImage.getWidth()) / 2, (panelHeight - bufImage.getHeight()) / 2, this); //绘制图片pathInfo.setForeground(Color.BLACK);pathInfo.setText(path + "\\" + filename);isangled = false;} else if(bufImage != null) {Graphics2D g2 = (Graphics2D) g;picTrans();g2.drawImage(bufImage, (panelWidth - bufImage.getWidth()) / 2, (panelHeight - bufImage.getHeight()) / 2, this); // 绘制图片}}// line13,文件类型过滤public class Filter implements FilenameFilter {String extension;Filter(String extension) {this.extension = extension;}// FilenameFilter接口的一个方法,必须实现它public boolean accept(File directory,String filename) {return filename.endsWith(extension);}}/*** @param args the command line arguments*/public static void main(String args[]) {Runnable() {public void run() {new pic().setVisible(true);}});}// Variables declaration - do not modifyprivate angleleftbtn;private anglerightbtn;private buttonGroup1;private buttonGroup2;private deletebtn;private exitbtn;private jButton10;private jMenu1;private jMenu2;private jMenuBar1;private nextbtn;private openbtn;private oripicbtn;private pathInfo;private prebtn;private savebtn;private zoominbtn;private zoomoutbtn;// End of variables declaration }三、心得体会在这次的面向对象程序设计课程设计中,我进一步熟悉了上一学期学习的JA V A语言中的包,类,方法:导入哪些包,继承哪些类可以实现什么方法等。