第一篇:java实训心得
Java实训心得
吴永坤102307099软件测试
在本学期的中期,我们在学校机房进行了为期八周的 JAVA 实训。现在即将结束了,回首本学期的java 学习,重点还是在学习概念等一些常识性的东 西,通过这次为期八周的实训,遇到了很多自己感兴趣的问题,就会很有兴趣,当然学知识可不能凭自己的爱好和一时兴趣,不能遇到自己不敢兴趣的问题就把 它抛给同学,要学会自己踏踏实实认真的去解决问题。要一步一个脚印,认认真 真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
本次我们小组所做的程序是“学生信息管理系统”基本功能已经较好的完成,可是还是有一些不完善,比如我们的通讯录没有能够做到把通讯录里所储存的信息 以列表的形式展现出来,所以还是有些不完善,我们的指导老师对我们的程序作出了大体评价,发现我们的思想还是处于一个比较简单的过程当中,老师的几 句简单评价,就带给我们无与伦比的冲击性,由于我们写程序的经验尚且较少,很多东西无法考虑到位,老师的点评,使我们认识到了不足与今后的前进方向与目标,使我们更加具有动力与激情,拥有了继续认真学习JAVA 的信心,拥有了成为一位合格的高级程序员的壮志,在编写程序的过程当中,我们在一开始就遇到了问题,一直在纠结与是使用数据库连接还是使用文件,经过老师的耐心讲解,我们了解到了尚未接触到的 Jar 包等一些列名词,但是经过数据库的抒写与连接 发现 SQL2000 与 SQL2005 无法同步,所以最终我们选择了使用文件来进行这次程序的编写,第二个问题就是我们的程序在进行按钮新窗口的链接,在新窗口弹出时,无法将老窗口关闭,纠结了好久,询问老师,老师还给我用了“父子”的 生动例子来讲解,最终我们查找 JDK,查找类的用法终于完美解决!甚是兴奋!
在我所学的语言当中,我自认为JAVA 是一门比较强大的面向对象的编程语 言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。
所以学好 java 语言有很大的用处,这次实训,面对一道陌生的题目和要求时,不应慌张和无措,首先应该想到这和课本上的哪些知识具有结合点,回忆和分析 这种结构的算法和具体实施方法,综合考虑其他的方面,例如:该题的易写性和易懂性及其他的问题的可利用性。在编写时,一个小小的符号,一个常量变量的设定,这都无不考量着我们的细心和严谨,所以学JAVA,不仅对我们以
后学习其他语言有很大的好处,而且也让我们知道了和理解了作为一个编程人员首先 应具有的良好心理素质,那就是冷静思考和专心致志。对待学术知识应该是严谨和认真。
这次实训,我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,最后在自己的努力下,终于运行成功,这种成就感美不可言,心情愉悦至极。
最后终于要结束了,大家都有种释怀的感觉,当然我想我更多的是兴奋和自 己掌握了知识之后的饱满感,学知识就像吃东西一样,吃饱了就应该好好的消化。要不断的温习和运用,做到举一反三,将所学知识充分融入到平时的学习生活中 去,为以后的工作做好坚实的基础。感谢学校和老师能够为我们提供这次机会,让我们更好的掌握和了解 JAVA 这门语言。谢谢!
第二篇:JAVA实训心得
时间过得真快,转眼间,在厦门万策实训基地短短20天的实训生活已悄然过去几天了,然而实训的过程还历历在目。
实训期间,让我学到了很多东西,不仅使我在理论上对IT领域有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。除此以外,我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。这一次亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实训对于我以后学习、找工作也真是受益菲浅,在短短的20天中相信这些宝贵的经验会成为我今后成功的重要的基石。
作为一名大三的学生,经过差不多三年的在校学习,对程序设计有了理性的认识和理解。在校期间,一直忙于理论知识的学习,只能偶尔练习一些小程序,没有机会也没有相应的经验来参与项目的开发。所以在实训之前,软件项目开发对我来说是比较抽象的,一个完整的项目要怎么来分工以及完成该项目所要的基本步骤也不明确。而经过这次实训,让我明白一个完整项目的开发,必须由团队来分工合作,并在每个阶段中进行必要的总结与论证。
一个完整项目的开发它所要经历的阶段包括:规划和用例说明、项目结构和风险评估、业务功能说明书、详细设计说明书、代码实现、测试、操作手册。一个项目的开发所需要的财力、人力都是大量的,如果没有一个好的远景规划,对以后的开发进度会产生很大的影响,严重时导致在预定时间内不能完成该项目或者完成的项目跟原先计
划所要实现的项目功能不符合。一份好的项目结构、业务功能和详细设计说明书对一个项目的开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。代码的实现是一个项目开发成功与否的关键,可以说,前面所做的事情就是为代码的实现做铺垫。
经过几天天的JAVA web OA办公系统开发的实训,我对JAVA软件开发平台有了更深一步的了解与深入,对Sun公司的MyEclipse认识与使用也有了大大的提高。开发这个OA办公系统用到知识几乎都是以前课本上所没有学到这,很多都是现学现卖,所以用起来遇到很多的阻力。我做的模块是考勤的请假管理,要用到DAO,和MVC设计思想模式。听课的时候不太明白这是怎样的一种设计模式,随着慢慢的深入开发,通过解决各种问题,体会到了这两个设计模式的一些要领。虽然后面和数据库连接时成功,但是却没有在数据库看到应该增加进去的内容,调试了很久还是没有成功,由于时间问题最后只好作罢。但是我有决心会去弄明白它。
这次实训也让我深刻了解到,不管在工作中还是在生活中要和老师,同学保持良好的关系是很重要的。做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做人的一个最基本的问题。对于自己这样一个即将步入社会的人来说,需要学习的东西很多,他们就是最好的老师,正所谓“三人行,必有我师”,我们可以向他们学习很多知识、道理。
突然想起鲁迅先生的一句话:这里本来没有路,只是走的人多了,也
便成了路。生活的路呢?生活的路也是人走出来的,每个人一生总要去很多陌生的地方,然后熟悉,而接着又要启程去另一个陌生的地方。在不久就要踏上人生另一旅程的时候,有时不免会感到有些茫然,感到无助,但生活的路谁都无法预设,只能一步一步摸索,但只要方向正确,不要走入歧途,走哪条路都走向光明。
第三篇:Java实训心得
心得体会
此次只实训了短短的三周。虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,而且使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理。除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实训对于我以后学习、找工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。
这次实训虽然是我们的第一次,不过同学们表现都很不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。实训是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
我把本次为期三周的实训看作是 “理论与实践相结合的桥梁”。通过这周的实训和学习,我知道了此次实训的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络知识水平的提高。但是课本上所学到的理论知识是为我们的实际操作指明了方向、提供相应的方法,真正的职业技巧是要我们从以后的实际工作中慢慢汲取的。而针对实际操作中遇到的一些特殊的问题,我们不能拘泥于课本,不可纯粹地“以本为本”。
在这次实训中我有诸多感想,我第一次体会到Java工程师的工作是什么样子的,也发现了很多不曾注意到的细节,在实训的演示过程中,我对作为一名Java工程师注意的事项应该从小事做起、从基本做起。把职业能力训练与职业素质有机的结合起来。相信这对我接下来学习专业知识会起到很有效的帮助,在接下来的几个月里,我会以作为一名职业人的身份在这几个方面要求自己,严格自我,向Java工程师靠近。
而经过这次实训,让我明白完成一个完整项目的开发必须依靠团队合作,否则,事倍功半。因此不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。做事首先要学做人,如何与人相处是现代社会的做人的一个最基本的问题。对于自己这样一个即将步入社会的人来说,需要学习的东西很多,他们就是最好的老师,正所谓“三人行,必有我师”,我们可以向他们学习很多知识、道理。
实训结束了感觉虽然辛苦,但很充实。我想这就是Java工程师的工作。我也体会到Java工程师成功地完成一个任务的那种兴奋,那种小有成就的感觉是只有置身其中的人才能体会。
总之,这次实训为我提供了与众不同的学习方法和学习体会,从书本中面对现实,为我将来走上社会打下了扎实的基础。作为在校计算机专业的学生,现在我能做的就是吸取知识,提高自身的综合素质,提高自己的职业技能,只有自己具备了能力,到时候才会是 “车到山前必有路”。我相信在不久的未来,会有属于我自己的一片天空。
我希望计算机专业的同学在以后的学习或工作中以务实的态度给提供更多的机会锻炼自己,为大家的成才与就业奠定坚实的基础;并希望同学们要做好角色定位,将自己所学的知识,学熟、学精。
多学习和收集与项目有关的资料,来提高自己的业务水平,同时多请教经验丰富的老师,使他们好的经验能够对自己起到借鉴作用,在他们的帮助下,能够很快的培养自己的职业技能,避免做无用功,也可以让自己了解很多项目管理上的方法,在以后的工作中减少挫折和错误。
第四篇:Java实训心得报告
www.xiexiebang.com
美国上市公司
亿元级外企IT培训企业
Java实训心得报告
进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础
二、实训单位介绍:
北京达内科技有限公司是中国高端IT培训的领先品牌,致力于培养面向电信和金融领域的 Java、C++、C#/.Net、测试、嵌入式、PHP等方面的中高端软件人才,由美国国际数据集团IDG和集富亚洲JAFCO ASIA投资,是国内首家获得国际风险投资的IT培训机构。经过15年运营,达内科技实现了98% 的专业就业率,78%的口碑入学率,学员平均毕业薪资8000元/首月平均薪资。目前,达内科技已经发展成为集培训、咨询、开发、人才服务于一体的高新技术集团公司,公司下设达内IT培训、达内软件人才服务中心、达内软件研发中心。
达内科技以中关村科技园区为依托,在中国软件业发达城市――北京、上海、广州、深圳、大连、南京、武汉、杭州、西安、苏州、成都、太原等40个大中城市,建立了近140家培训中心。合作企业包括IBM、微软、百度、华为、中软、用友、Yahoo、阿里巴巴、网易、新浪、搜狐、阿里云、联想、神州数码、大唐电信、亚信等近8万家知名IT企业,达内自成立以来已帮助40万学员成功就业
三、实训岗位介绍:
此次实习为java实训班,我们组一共6人,共同完成一个服装管理系统。我主要负责入库管理模块代码的编写和该模块相关文档的撰写。该模块主要功能包括:新建入库单、删除入库单、查看入库单详细信息、更新入库单、提交入库单、查询入库单。
四、实训内容及过程:
1.Mysql数据库
1)MySQL数据库管理系统概述
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。
www.xiexiebang.com
美国上市公司
亿元级外企IT培训企业
数据库是数据的结构化集合。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。
MySQL服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。
MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的MySQL十分适合于访问Internet上的数据库。
2)MySQL稳定性
每次发布的MySQL服务器均是可用的。仅当用户尝试源自“灰色区域”的代码时才会出现问题。当然,新用户不了解“灰色区域”是什么。因此,在本节中,我们介绍了目前已知的这类区域。本节所作的介绍主要针对MySQL服务器5.0版和更高版本。在最新的版本中,更正了所有已知和通报的缺陷,但“缺陷”一节所列的除外,这类缺陷与设计有关。
2.Java中的常用设计模式
1)工厂模式
客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。
2)工厂方法模式
核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。
3.控制技术-Servlet技术
1)一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。
javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。
2)一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。
www.xiexiebang.com
美国上市公司
亿元级外企IT培训企业
4.页面设计-JSP页面
1)MVC 模式
为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。
2)JSP技术的强势
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台
服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
3)JSP技术的弱势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
五、实训总结及体会
通过这一期的实训,虽然倍感折磨,但是收获却很大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。
当我们正式准备学习实训java编程技术时,让我倍感兴奋。Java是自己以后想主攻的技术,所以自然也就非常的亢奋。感觉肩上责任之重大,那一刻起,我就决心带领我们小组,奋战我们的实训路。当然开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我们遇到了很多以前未曾遇到的难点,有时难免冥思苦想也
www.xiexiebang.com
美国上市公司
亿元级外企IT培训企业
无济于事,通过我们小组的积极努力协作,同时请教老师和其他同学,我们顺利的化解了一道道的障碍。
这让我不断的对学习技术又有了新的认识:学习中我们必须边总结边学习,开始阶段对老师交代的任何方法和类都不要放过,不管是否简单与否都要乐于地接受,因为老师肯定有他的道理,相信老师走过的路比我们长,那么其经验也就肯定比我们丰富。上课时一定要专心听讲,一个关键的知识点听漏了,可能会使一个人在课下花很多时间去消化,这样也就会花掉做其他事情的大量时间,同时也使得学习不能和老师的讲的课程同步,以至出现以后就跟不上老师讲课的进度而掉队。所以学习中我们宁可劳其筋骨,苦其心志,恶其体肤,也不能掉队跟不上学习进度。
在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的时间,我在做这个在线考试的项目中,其中也问到过许多问题,通过同学的帮助下解决了,提高了程序的开发进程。其他的同学有问题的话我也是给他们尽量解决。我认为学习知识的过程当中就应该是相互学习相互进步的。
Java是面在的主流技术我会努力将它学好,现在我缺乏的是坚持不懈的精神,周贤军给了我很大的影响,我会向他学习,虽然学习java的路还很找,但我会继续走下去。
在这里,我非常感谢实训的指导老师,在老师的帮助和指导下,我克服了Java学习上的一道道难关,课上认真听讲,摘好必要的笔记,并通过自己课后的不断消化学习,现在自己已经基本掌握了java的基础知识,并等待知识的进一步提升。
实训即将结束了,我非常怀念在达内科技的实训,在实训的这段时间里,我每一天过的都很充实,我相信,只要我秉持艰苦奋斗,为理想拼搏的精神,尽管在未来的java路上荆棘丛丛,我一定可以披荆斩刺,度过重重难关,实现自己未来的理想!
第五篇:JAVA编写日历实训心得
班级:**** 姓名:*** 学号:****10010127 java实验报告
实验7 日历
一、实验目的
1.掌握swt 的容器概念及使用方法。2.掌握swt 中的工具栏与菜单的使用方法。3.掌握swt 中的表格组件的使用。4.掌握swt 各种对话框的使用方法。
二、实验内容:简单日历系统的设计与实现。
三、实验步骤:1.简单日历系统的设计与实现
1)创建java 类。在“包资源管理器”中用鼠标右击项目“practical”,选择快捷菜单中 “新建”→“visual class”;在打开的“new java visual class ”窗口中,“源文件夹”的默认值是项目的文件夹,不需要更改,“包”栏中输入程序包的名称“ch7”。“名称”栏中输入类名“su”,在“style ”列表框中选择“swt”→“shell”,选中“public static void main(string[] args)”复选框,使之自动创建一个main 方法,单击“完成”按钮,一个含有gui 程序界面以及代码的编辑器窗口被打开。2)添加组件。用鼠标右键单击gui 程序界面的任何位置,在快捷菜单中选择“set layout”→“filllayout”。在“palette”面板中用鼠标单击“swt containers ”中的“viewform”,在程序界面sshell 中添加viewform 容器viewform。从pallete 工具栏中依次单击组件:toolbar 和table,在viewform 容器添加一个工具栏toolbar 和一个表格table,并在工具栏toolbar 中添加4 个工具栏按钮toolitem~toolitem3; 在表格中添加7 个表列tablecolumn~tablecolumn6。更改4 个工具栏按钮的text 属性分别为“上一年”、“上个月”、“下个月”和“下一年”; 更改7 个表列的text 属性分别为“日”~“六”,如图下所示。
(3)注意声明类的成员变量:calendar now=calendar.getinstance();int year;int month;4)为类“su”编写自定义的“重置”方法。在编辑器中编写代码如下:public class su { private shell sshell = null;// @jve:decl-index=0:visual-constraint=138,42 private viewform viewform = null;private toolbar toolbar = null;private table table = null;private calendar now=calendar.getinstance();int year;int month;private void createviewform(){viewform = new viewform(sshell, swt.none);createtoolbar();viewform.settopleft(toolbar);table = new table(viewform, swt.none);table.setheadervisible(true);table.setfont(new font(display.getdefault(), tahoma, 10, swt.normal));table.setlinesvisible(true);tablecolumn tablecolumn = new tablecolumn(table, swt.center);tablecolumn.setwidth(60);tablecolumn.settext(日);tablecolumn tablecolumn1 = new tablecolumn(table, swt.center);tablecolumn1.setwidth(60);tablecolumn1.settext(一);tablecolumn tablecolumn2 = new tablecolumn(table, swt.center);tablecolumn2.setwidth(60);tablecolumn2.settext(二);tablecolumn tablecolumn3 = new tablecolumn(table, swt.center);tablecolumn3.setwidth(60);tablecolumn3.settext(三);tablecolumn tablecolumn4 = new tablecolumn(table, swt.center);tablecolumn4.setwidth(60);tablecolumn4.settext(四);tablecolumn tablecolumn5 = new tablecolumn(table, swt.center);tablecolumn5.setwidth(60);tablecolumn5.settext(五);tablecolumn tablecolumn6 = new tablecolumn(table, swt.center);tablecolumn6.setwidth(60);tablecolumn6.settext(六);viewform.setcontent(table);} private void remove(calendar now){ int y;int year = now.get(calendar.year);int month=now.get(calendar.month)+1;case 2:{ if((year%4==0 && year%100!=0)||(year%400==0))y = 29;else y=28;break;} case 4:;case 6:;case 9:;case 11:y = 30;break;default: y=31;} now.set(year, month-1, 1);int d=now.get(calendar.day_of_week)-1;int switch(month){ l=d+y;string a[]=new string[42];for(int i=d,n=1;i 首先:toolitem 添加的事件响应代码为:toolitem.addselectionlistener(new org.eclipse.swt.events.selectionlistener(){ public void widgetselected(org.eclipse.swt.events.selectionevent e){ year--;now.set(year, month-1, 1);remove(now);} public void widgetdefaultselected(org.eclipse.swt.events.selectionevent e){} });其次:为toolitem1 添加的事件响应代码为: toolitem1.addselectionlistener(new org.eclipse.swt.events.selectionlistener(){ public void widgetselected(org.eclipse.swt.events.selectionevent e){ month=month-1;if(month==0){ year--;month=12;} now.set(year, month-1, 1);remove(now);} public void widgetdefaultselected(org.eclipse.swt.events.selectionevent e){ } });再者:为toolitem2 添加的事件响应代码为:toolitem2.addselectionlistener(new org.eclipse.swt.events.selectionlistener(){ public void widgetselected(org.eclipse.swt.events.selectionevent e){ month=month+1;if(month==13){ year++;month=1;} now.set(year, month-1, 1);remove(now);} public void widgetdefaultselected(org.eclipse.swt.events.selectionevent e){ } });最后:为toolitem3 添加的事件响应代码为:toolitem3.addselectionlistener(new org.eclipse.swt.events.selectionlistener(){ public void widgetselected(org.eclipse.swt.events.selectionevent e){ year++;now.set(year, month-1, 1);remove(now);} public void widgetdefaultselected(org.eclipse.swt.events.selectionevent e){ } });(6)、为了初始化表格中的月历,修改类的createsshell()方法代码如下: private void createsshell(){ sshell = new shell();sshell.settext(日历----苏建);sshell.setfont(new font(display.getdefault(), tahoma, 14, swt.normal));sshell.setforeground(new color(display.getcurrent(), 255, 0, 0));sshell.setsize(new point(435, 313));createviewform();sshell.setlayout(new filllayout());year = now.get(calendar.year);month=now.get(calendar.month)+1;now.set(year, month-1, 1);remove(now);}}(7)运行程序。选择菜单“运行”→“运行方式”→“3 swt 应用程序”,程序运行结果 如下图所示:使用几个工具栏按钮的结果如下: 四、实验总结及感想: 刚开始学习java,感觉很多东西都没搞懂,特别是面向对象这本书,真的没搞懂,前面讲的一些简单的面向对象思想,都有一定的道理。书上说到一切物体都可以说是对象,也就是说什么东西都可以看成是一个对象。面向对象三大基本特征:继承,封装,多态。其实,之前我就看了一些关于c++和c的一些面向对象的知识都跟java面向对象相类似。例如:继承就是子类继承父类重写了父类中的公共方法。封装就是把程序的信息隐藏起来,有点抽象。多态就是同一消息,不同体现方式。java面向对象思想就是把所有的东西看成是一个对象,对该对象进行程序设计。该对象拥有属性和行为。通过最近的实训我认识到java是个很好的开发平台,我应该好好的学习它的基本知识,为将来开发软件提供更好的前提条件。篇二:java万年历课程设计实训报告 成绩: 本科专业实训报告 课题名称:java万年历设计 院系专业:信息工程学院通信工程专业学号姓名:0967119104李少华 指导教师:赵建峰 完成日期: 四 报告正文 一、简介 (1)选题依据:本次课程设计为自选题。思考一段时间后,我决定做一个万年历的设计。主要考虑到自己java课程基础内容掌握并不是很扎实。而而对于设计一个万年历程序,由于其功能简单设计也相对较易,并且通过设计这样的一个日历小组件,也能使自己对java的一些基础知识掌握的更加牢固。(2)课题基本内容:这个项目是一个简单的java万年历,可以实现年份为四位数的公历日期的查询,并且在相应的日期做备忘录,以及可以显示当前的系统日期以及时间。 二、主要问题 (1)各个jpanel的布局问题。本程序中有五个jpanel。如何使各个容器的布局合理是首要关心的问题;(2)所选月份天数的算法; (3)所选月份第一天为星期几的算法;(4)输出所选月份该月日历的算法; (5)在选择项中加入showmessagedialog的问题。 三、研究方法 (1)各个jpanel的布局问题:针对这个问题,使用borderlayout类。这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:north、south、east、west、center。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一。 (2)所选月份天数的算法:用if语句实现。一三五七八十二月份为31天,四六九十一月份为30天,对于二月份进行闰年与非闰年的讨论。 (3)所选月份第一天为星期几的算法:使用get(calendar.day_of_week)函数实现。 (4)输出所选月份该月日历的算法:算出所选月份第一天为星期几后,把该日期以前的位置用空格补上,并从该日起一次输出天数直到月底。从前面的空格开始算起,把第一天的星期数字减去1后即为此天在该序列中的序号,从此天开始算,利用该序列的序号对6取余得0换行,即可完整的输出该月的日历。(5)在选择项中加入showmessagedialog的问题:在本程序中,首先定义了关于“版本说明”的适配器,在这个类中定义了这个选择项的actionperformed 方法。其次,在主程序中为“版本说明”选择项加一个监听器,监听器中调用了刚才定义的适配器。最后,同样在主程序中详细说明actionperformed 方法。 四、数据分析 package wannianli;import java.awt.*;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.mouseevent;import java.awt.event.mouselistener;import java.io.bufferedreader;import java.io.bufferedwriter;import java.io.file;import java.io.fileinputstream;import java.io.filenotfoundexception;import java.io.fileoutputstream;import java.io.ioexception;import java.io.inputstreamreader;import java.io.outputstreamwriter;//import java.sql.date;import java.text.dateformat;import java.text.simpledateformat;import java.util.calendar;import java.util.date;import javax.swing.icon;import javax.swing.jbutton;import javax.swing.jdialog;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.jmenu;import javax.swing.jmenubar;import javax.swing.jmenuitem;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jscrollpane;import javax.swing.jtable;import javax.swing.jtextarea;import javax.swing.jtextfield;import javax.swing.table.defaulttablemodel;public class wannianli extends jframe implements actionlistener, mouselistener { private calendar cld = calendar.getinstance();private string [] astr = {星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日};private defaulttablemodel dtm = new defaulttablemodel(null,astr);private jtable table = new jtable(dtm);//装日期的表格 private jscrollpane sp = new jscrollpane(table);private jbutton blastyear = new jbutton(上一年);private jbutton bnextyear = new jbutton(下一年);private jbutton blastmonth = new jbutton(上月);private jbutton bnextmonth = new jbutton(下月);private jtextfield jtfyear = new jtextfield(5);//jtfyear年份显示和输入文本框,允许编辑单行文本 private jtextfield jtfmonth = new jtextfield(2);//jtfmonth月份显示文本框 private jpanel p1 = new jpanel();//装入控制日期按钮的篇三:时钟日历设计java实验报告 佛山科学技术学院 《可视化编程技术》课程设计报告 时钟日历设计 学生姓名: 学 号: 年级专业: 指导老师: 学 院: 广东★佛山 提交日期:2014年6月 目 录 1.前言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 2.概要设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 2.1 开发环境 „„„„„„„„„„„„„„„„„„„„„„„„„„3 2.2 时钟日历功能 „„„„„„„„„„„„„„„„„„„„„„„3 2.3 界面设计 „„„„„„„„„„„„„„„„„„„„„„„„„„3 2.4 类的框架结构图 „„„„„„„„„„„„„„„„„„„„„„„4 3.详细设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„5 3.1 使用的java类的说明 „„„„„„„„„„„„„„„„„„„„5 3.2 类的主要方法 „„„„„„„„„„„„„„„„„„„„„„„„6 3.2.1 设置3个按钮 „„„„„„„„„„„„„„„„„„„„„„6 3.2.2 日历、时钟、界面的绘制 „„„„„„„„„„„„„„„„„7 3.2.3 导入素材文件„„„„„„„„„„„„„„„„„„„„„„10 3.2.4 设计总体认识 „„„„„„„„„„„„„„„„„„„„„11 4.运行结果„„„„„„„„„„„„„„„„„„„„„„„„„„„11 5.测试分析„„„„„„„„„„„„„„„„„„„„„„„„„„„11 5.1 程序运行情况„„„„„„„„„„„„„„„„„„„„„„„11 5.2 程序异常处理„„„„„„„„„„„„„„„„„„„„„„„12 6.源程序„„„„„„„„„„„„„„„„„„„„„„„„„„„„13 参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„23 设计总结„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24 摘要:该程序是一个图形界面的简单的java时钟日历,具有良好的界面。该程序可以自动获取系统日期和时间。还可以翻看万年历,在点选日期的时候会有音效。程序中还有个会移动的图形条,在右侧则有一个时钟图形,会跟着实时时间动。下方三个按钮可以播放一个声音,play则播放一次,loop则循环播放,stop则停止播放声音。 关键字:java、日历类、时钟类、声音类、方法、事件 1 前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了java语言之后,我决定使用java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要。 java是由sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,java已成为当今internet上最流行、最受欢迎的一种程序开发语言。java开发小组把java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。java基本版本叫java 2标准版(java 2 standard edition,j2se),它包含建立java应用程序或者是applet所需的应用程序编程接口(api)。java 2移动版(the java 2 mobile edition,j2me)包含创建无线java应用程序的api。还有java 2企业版(the java 2 enterprise,j2ee)是j2se的增强版本,包含建立多层架构应用程序api。 java语言是由c++语言发展起而来的,是一种彻底的面向对象的程序设计语言。作为一种纯面向对象的程序设计语言,它非常适合大型软件的开发。java语言去掉了c++语言的一些容易引起错误的特性。java语言的特点有:面向对象、跨平台、安全性、多线程和图形功能强。