欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!

沃文网

换一换
首页 沃文网 > 资源分类 > DOC文档下载
 

《面向对象程序设计》课程设计java日历

  • 资源ID:20142       资源大小:647.81KB        全文页数:16页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: QQ登录   微博登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

《面向对象程序设计》课程设计java日历

软件学院课程设计报告书课程名称面向对象程序设计课程设计设计题目java日历专业班级学号姓名指导教师XXX2011年12月2目录1设计时间.....................................................32设计目的.....................................................33设计任务.....................................................34设计内容.....................................................34.1概念设计...................................................34.1.1系统功能图...............................................34.1.2需求分析.................................................44.1.3设计思路.................................................64.2详细设计...................................................74.2.1类设计...................................................74.2.2界面设计.................................................74.2.3功能实现.................................................94.3运行调试与分析讨论........................................124.3.1运行结果和分析..........................................124.3.2改进想法................................................135总结与展望..................................................14参考文献......................................................15成绩评定......................................................1531设计时间2011年12月19日2011年12月22日2设计目的面向对象程序设计是学习完Java6程序设计课程之后,进行的一次全面的综合性练习,是学习完理论课程之后的必要的集中实践环节。面向对象程序设计的课程设计的目的在于是提高学生对所学知识综合应用能力的一种方式,要求我们对理论课中所学习到的知识综合运用,实现有一定规模的Java应用。此次课程设计也为我们将来的毕业设计和具体工作实践奠定了坚实的基础。3设计任务Java日历设计一个java日历,要求用java编写简单日历,只需要输入年、月就可打印出对应月的日历。要求有简单的用户界面。4设计内容4.1概念设计4.1.1系统功能图该系统主要实现的功能如图一所示图一万年历系统查询指定年份日历查询指定月份日历查询相邻年份日历选择其他日期查看今日查询相邻月份日历显示日期41、当用户需要查询指定年月的日历时,用户将选择框内年月改变,系统获取信息并设置月历,具体流程如图二所示图二2、用户用鼠标点击选择一个日期后,系统可用蓝色方框框住该日期,表示系统已选择该日,具体流程如图三所示图三4.1.2需求分析对于万年历系统,其主要功能是查看当日日期(年、月、日)、查看当时时间、查看其他年月的月历、对选中的日期进行标识。主要使用流程是查看万年历系统,查看其他月份或年份日历,选中其他日期查看,查看当日日期。主要功能的用例描述如下(1)查看万年历1、进入万年历系统;2、系统获取当日日期并设置日历为当月,蓝框选中当日日期;(2)查询当月其他年份用户点击某一日期系统判断用户已点击标签的下标清除上一个方框对被点击的标签设一个蓝色方框选择年份月份获取年月份并转化为英文格式获得该月1号所在位置和该月天数设置系统为该年月生成日历界面5改变年份有两张方法,一种是选择年份,一种是摁按键选择上一年或下一年。下拉菜单选择年份1、点击选择年份的下拉菜单,选择年份;2、系统获取已选择的年份;3、系统设置为已选年份当月的月历并显示在界面显示。按键选择上一年(或下一年)1、点击选择“年”(或“年”)的按键;2、系统获取选择框内的年份;3、将系统获取年份的数字减去1(或加上1);4、将选择框内的年份设为已更改的年份;5、系统设置为已更改年份当月的月历并显示在界面显示。(3)查询当年的其他月份改变月份有两张方法,一种是选择月份,一种是摁按键选择上一月或下一月。下拉菜单选择月份1、点击选择月份的下拉菜单,选择年份;2、系统获取已选择的月份;3、系统设置已选月份为当年的月历并在界面显示。按键选择上一月(或下一月)1、点击选择“月”(或“月”)的按键,;2、系统获取选择框内的月份;3、将系统获取月份的数字减去1(或加上1);4、将选择框内的月份设为已更改的月份;5、系统设置为已更改月份当年的月历并在界面显示。(4)选择其他日期查看1、点击其他日期;2、系统对所有日期的label进行监听,判断点击的那个label;3、返回被点击的label的数组下标;4、对该下标的label设置蓝色边框,表示选中。(5)查看当日日期61、点击“今日”按键;2、系统获取今日日期;3、设置年份和月份选择框为当日年月;4、系统设置为当日年月的月历并在界面显示;5、判断当日日期在哪个label上;6、返回被点击的label的数组下标;7、对该下标的label设置蓝色边框,表示选中。4.1.3设计思路本课程设界面由两个模块构成,主要有表头模块和日历模块两部分。(1)表头模块上有查询输入部分和时间显示部分1、两个下拉列表用于选择的年份和月份,如改变年份后系统用getShowYear()获得组合框中的中文年份,getCombYear()转换成英文格式,得到用户选择的年份,同时用getMonthDays()和getInitWeek()得到界面的设定,最终,用setDays()设置出用户所要求的月历,改变月份同理;2、四个button按钮用于实现年、年、月、月,如选择了“年”后,系统用getShowYear()和getCombYear()获得组合框中的年份,在其年份上加1,将改变的年份显示在组合框里,计算出该年月日历的安排,并用setDays()设置出用户所要求得月历,其他按钮同理;3、一个button按钮用于实现对今日日期的查找,当用户选择了“今日”后,系统用getNowYear()和getNowMonth()得到当日年月,并调用setNowDay()将系统组合框内年月设为当日年月,显示当月月历,同时系统用getNowDay()获得当日日期,用labelDayi.setBorderborder1语句将当日的日期用蓝色的边框框住表示选定;4、创建一个标签用于显示时间,监听系统时间并显示。(2)日历模块上添加系统的结果显示部分1、该部分最初显示为当日年月的月历,改变年月后,获得需要显示的月份天数m和当月1号是从labelDayn开始后按顺序从添加到labelDaymn,遇到周末用7setForegroundColor.red设定字体显示为红色;2、对labelDay标签进行监听,如果鼠标点击某个label,判断该标签的的序号,用setBorder()为该label设置蓝色边框并用setBordr(null)将上一个边框清除。4.2详细设计4.2.1类设计本程序创建了一个AidyCalender类,该类包括了改变年月对月历界面显示的改变和时间的显示,主要包括函数如表1所示表-1AidyCalender4.2.2界面设计界面该界面由上表头模块输入选择部分和中央的结果显示部分组成。输入部分创建两个下拉列表选择年月及5个功能按键用于实现日历的基本操作;结果显示部分根据该月1号所属星期和该月的天数设置出该月月历界面。主要的界面设置代码如下加上星期日到六publicAidyCalenderStringtitle界面设计publicvoidactionPeredActionEventae判断button按键publicintturnWeekStringweek将系统中的英文周转化成中文周publicintgetNowDay获得现在的日期publicIntegergetShowYear获取组合框中显示的中文格式年份publicintgetComboYear获取组合框中的年份publicintgetInitWeekStringinitWeek返回当月中的1号是从星期几开始publicintgetMonthDaysintyear,intmonth返回所选年月的天数publicvoidsetSysDateintyear,intmonth设置系统日期publicvoidsetChangeDate改变显示日期publicvoidsetDaysintmonthDays,intinitWeek,intday设置月历8forinti0;i7;ilabelWeekinewJLabel;labelWeeki.setHorizontalAlignment0;ifi0||i6labelWeeki.setForegroundColor.red;//设置周末为红色labelWeeki.setFontnewFont新宋体,Font.BOLD,18;elselabelWeeki.setForegroundColor.BLACK;labelWeeki.setFontnewFont新宋体,Font.PLAIN,18;labelWeeki.setTextstringWeekCni;panel2.addlabelWeeki;加上日期的labelforinti0;i42;ilabelDayinewJLabel;labelDayi.setHorizontalAlignment0;//设置文本的水平对齐方式labelDayi.setText;panel2.addlabelDayi;labelDayi.addMouseListenerlistener;//对label进行监听设置月历publicvoidsetDaysintmonthDays,intinitWeek,intdaysetDateNull;forintiinitWeek;iinitWeekmonthDays1;i//initWeek初始星期labelDayi.setFontnewFont黑体,Font.BOLD,18;//设置日期的字体ifi-initWeek1day//如果日期为今天9forintj0;j42;jlabelDayj.setBordernull;labelDayi.setBorderborder1;//选中当日日期ifi70||i76labelDayi.setForegroundColor.red;elselabelDayi.setForegroundColor.BLACK;labelDayi.setTextString.valueOfi-initWeek1;forintiinitWeekmonthDays;i42;ilabelDayi.setText;4.2.3功能实现1、实现指定年月查询的主要代码如下获取组合框中的年份和月份publicintgetComboYearreturncombo1.getSelectedIndex1;publicintgetComboMonthreturncombo2.getSelectedIndex;返回当月中的1号是从星期几开始publicintgetInitWeekStringinitWeekintnowWeek0;//nowWeek系统日期中的星期forinti0;i7;iifinitWeek.equalsIgnoreCasestringWeekEni10nowWeeki;break;returnnowWeek;返回所选年月的天数publicintgetMonthDaysintyear,intmonthswitchmonthcase3case5case8case10return30;//小月返回30天case1ifgregorianCalendar.isLeapYearyear//isLeapYearyear确定当前纪元中的指定年份是否为闰年。return29;elsereturn28;//闰年的二月返回29天,平年返回28天defaultreturn31;//大月返回31天设置月历publicvoidsetDaysintmonthDays,intinitWeek,intdaysetDateNull;forintiinitWeek;iinitWeekmonthDays1;i//initWeek初始星期labelDayi.setFontnewFont黑体,Font.BOLD,18;//设置日期的字体ifi-initWeek1day//如果日期为今天11forintj0;j42;j;labelDayj.setBordernull;labelDayi.setBorderborder1;//选中当日日期ifi70||i76labelDayi.setForegroundColor.red;elselabelDayi.setForegroundColor.BLACK;labelDayi.setTextString.valueOfi-initWeek1;forintiinitWeekmonthDays;i42;ilabelDayi.setText;2、实现选择日期功能的主要代码如下设置蓝色边框privateBorderborderBorderFactory.createRaisedBevelBorder;privateBorderborder1BorderFactory.createLineBorderColor.cyan,8;//蓝色选择边框判断点击了哪个label,然后做相应的响应MouseListenerlistenernewMouseAdapterpublicvoidmouseClickedMouseEventeforintj0;j42;jlabelDayj.setBordernull;ifJLabele.getSourcelabelDayjlabelDayj.setBorderborder1;;124.3运行调试与分析讨论4.3.1运行结果和分析图四为系统初始界面,系统自动设置为当日年月的月历,并且用蓝框框住当日日期。图四图五为用户选择查看日历,用户通过下拉列表选择自己需要的年月查看月历,如图用下拉菜单选择查看2011年7月份月历。图五图六为摁“年”按钮改变年月,用户可以通过按键改变用户所查看的年份,如图用13按钮“年”查看2009年12月份的月历。图六4.3.2改进想法该万年历程序只能显示阳历,可在其基础上加上阴历的显示,当鼠标点击了某一日的日期时,该日期被框住并且显示出其阴历日期;每年一些固定的节日如“五一”、“十一”可在日历上用红色数字显示出来;月历上其他未填日期的空白label可用加上上个月和下个月的部分日期,用灰色表示方便区别。145总结与展望面向对象课程设计的主要目标就是利用将课堂上学到的Java理论知识和实践操作方法应用于实际的Java应用软件中,去制作各种小程序。通过这次面向对象课程设计,可以加深我们对面向对象程序设计理论知识的理解,掌握面向对象应用程序设计和开发的基本方法,以提高我们运用理论知识的能力。最初确定课程设计任务时,先考虑其功能有哪些,需要显示什么,如何进行窗口布局,需要用哪些知识点,如相关的类和对象等,最后就是根据初步设计的功能和布局构架,考虑用源代码进行实现了。本小日历程序。在设计过程中遇到障碍时,老师的指导,和同学的帮助都给予了我很大的启发,同时,我也在网络上搜寻相关知识之后,最终完成了这项设计。在课程设计的实际操作中,不仅巩固了之前所学习的知识,同时也不可避免的遇到了一些问题,通过问题发现了自己对一些知识的片面理解甚至是错误的认识。针对课程设计中遇到的问题,我作出如下总结,作为以后学习的经验和教训。(一)实际操作能力的欠缺由于条件所限,平时我们大家都是在课堂上对理论知识进行学习,所以实践能力相对比较薄弱,这在实际操作中就出现了操作不流畅。(二)常忽略细节问题对于细节,输入代码的时候不够细心总是因为打错字母或者漏打“;”“”符号使代码常常出现错误或者警告,导致整个代码无法运行成功。经过一周的课程设计结束了,在这短短的一周里,通过我们自身的实践我们学习到了更多的知识,将此与课堂上所学习的理论知识相结合,我们将面向对象理论及操作诠释的更加深刻。实训中,遇到的问题和老师同学互相讨论,将所遇的困难各个击破,使自己对于一些问题的理解更加深刻了。课程设计是我们整个学习过程中的一个重要的实践环节,是我们运用所学知识分析问题解决问题以及培养我们自己动手操作实践能力的一个重要过程,也是我们在校学习时间学习成果的总结。课程设计对于培养学生的综合能力和全面素质具有非常重要的作用。15参考文献1java6程序设计实践教程.清华大学出版社2009.5刘万军,郑少京,王松波,梁清华等编著.2JAVA语言程序设计基础篇机械工业出版社(美)Y.DanielLiang著王镁,新夫,李娜等译3JAVA案例开发集锦电子工业出版社袁然,郑自国,邹丰义编著成绩评定成绩教师签字........忽略此处.......16

注意事项

本文(《面向对象程序设计》课程设计java日历)为本站会员(星星008)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2017-2019 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922