资源描述:
《java课程设计方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JAVA课程设计方案1.设计目的与任务本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“写字留痕”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。设计方案3.1总体设计(1
2、)问题定义:创建写字留痕,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。(2)问题分析:通过对“写字留痕”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这两大功能。通过主类N2创建动写字留痕软件的主窗口,该类含有main方法,程序从该类开始执行。再用余下YearMonth、MonthPane类来显示并改变日期和实现记事本的功能。而ImagePanel类用来显示图片,Music类用来实现音乐的播放控制。(3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。3.2设计要求(1)日记
3、本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。(2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。(3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别的字号和颜色(4)记事本区,记事本内容按年月日记录且保存。(5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事内容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。(6)日记本应该是开放的,内容可按日期增减,保存应即
4、时,删除需谨慎删除记录时,应进行对话框询问确定。(7)辅助功能包含了日记的导入导出。“导入”可以将其他日记文件导入合并到当前“写字留痕”49的日记本中;“导出”可将“写字留痕”的所有记录内容按日期为序导出到一个文本文件中。为安全起见导出时需加以安全确认,要求输入正确设定的密码后才能导出。(8)系统界面外观和布局,可个性化设计,总体原则是“界面简洁,操作便捷”。3.1系统的主要功能(1)可以对个人日志进行保存、删除、导入和导出;(2)可以方便地在任何日期记载个人日志以及查看某个日期记载的日志;(3)可以显示当前日期。3.2开发环境WindowsXP;
5、jdk1.5.0_16;EditPlus编辑器。3.3系统的功能模块划分与系统流程图3.3.1系统的功能模块划分本日历记事本共有6个类。ClassNoteBook该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从该类开始执行。此外,该主类负责创建日记文本、负责创建创建左侧面板、负责创建右侧面板、负责在文本框上弹出快捷菜单。ClassDateTime该类获得系统当前的日期,包括年月日。ClassYearMonth该类负责创建管理年份和月份的对象。ClassMonthPane该类负责生成日历创建日历。ClassImage
6、Panel该类负责出现图片的轮换。ClassMusic该类负责出现背景音乐以及控制音乐的播放。模块图如图3-1所示.NoteBookriliImagePanellMonthPaneYearMonthPaneDateTimetextJTextAreatime49图3-13.1.1万年历模块流程图万年历流程图如图3-2所示.万年历按钮选择日期正确输入错误输入改变当天日期当天是否有日记?有无更改记事本显示图3-23.1.2日记本模块流程图日记本流程图如图3-3所示.49显示日记本停止开始组合框导出导入删除保存单击暂停播放音乐单击,开始播放音乐歌曲添加进去
7、可进行多项选择把保存的文件导入到所选的路径下打开文件,把文件保存到对话框当前留有记录就删除记录以当前日期为当前内容保存TreeMap中各个类说明3.1.1主类NoteBook1.成员变量表3-1成员变量描述变量类型名称年、月、日intnian,yue,ri,year,month,day日历对象Calendarc,d时、分、秒inthour,minute,second文本框JTextAreat记事本面板JPaneltext微调器YearMonthdate月份面板MonthPanemp按钮JButtonbclear,daoru,bsave,daochu
8、gnew,gopen,gsave,gcopy,gcut,gpaste,ghelp标签JLabeltime1,time2菜单