最新JAVA记事本的设计与实现.doc
《最新JAVA记事本的设计与实现.doc》由会员分享,可在线阅读,更多相关《最新JAVA记事本的设计与实现.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJAVA记事本的设计与实现湛江海洋大学面向对象程序设计课程设计报告题 目:日记本的设计与实现课程设计 学 院: 信息工程 姓 名: xxxx 学 号: 1134120131 专 业: 软件工程 班 级: 软工1101班 指导教师: xxxx 二0一二年十二月十四日-目 录1.引 言32.设计目的与任务43.设计方案53.1总体设计53.2设计要求53.3系统的主要功能
2、53.4开发环境53.5系统的功能模块划分与系统流程图63.5.1系统的功能模块划分63.5.2万年历模块流程图73.5.3日记本模块流程图73.6各个类说明73.6.1主类NoteBook73.6.2记事本Note类83.6.3左侧面板LeftPane类93.6.4月份显示MonthPane类93.6.5年月显示YearMonth类93.6.6背景音乐Music类103.6.7日期获取DateTime类103.6.8右侧记事本显示NotePane类113.6.9记事本弹出菜单NotePopupMenu类114.各种功能截图125.课程设计总结156.个人心得体会167.附录17摘 要本课程设
3、计通过代码实现将理论知识和具体实践相结合,巩固提高了对JAVA的相关方法与概念的理解,使学生的发散思维及动手能力进一步加强,加强对计算机及软件工程的进一步了解。在这个课程设计中,做成了一个有日历标记的记事本软件,日记本面板由日历、记事本、图片、时钟四部分组成。日历部分可以选择不同的年份、月份、日期和星期;记事本模块可以实现查看,保存,删除日志等操作;并且每一步操作都有相应提示;图片模块可以显示预设的图片;时钟模块可以用时钟来显示当前时间。本软件是一个实用性较强,简洁,美观,方便的功能软件。关键字:记事本;日历;1引 言Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种
4、革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此Java课程设计决定以“写字留痕”为设题材,借此巩固加深我们对Java的了解。本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。2设计目的与任务本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日记本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使
5、学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。3设计方案3.1 总体设计(1)问题定义:创建日记本,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。(2)问题分析:通过对“日记本的设计与实现”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这两大功能。通过主类CalendWind
6、ow创建动写字留痕软件的主窗口,该类含有main方法,程序从该类开始执行。再用余下CalendarPad、CalendarMessage 、NotePad类来显示并改变日期和实现记事本的功能。而CalendarImage类用来显示图片。(3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。 3.2 设计要求 (1)日记本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。(2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。(3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表
7、示,当日可用特别的字号和颜色(4)记事本区,记事本内容按年月日记录且保存。(5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事内容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。(6)日记本应该是开放的,内容可按日期增减,保存应即时,删除需谨慎删除记录时,应进行对话框询问确定。(7)辅助功能包含了日记的导入导出。“导入”可以将其他日记文件导入合并到当前“写字留痕”的日记本中;“导出”可将“写字留痕”的所有记录内容按日期为序导出到一个文本文件中。为安全起见导出时需加以安全确认,要求输入正确设定的密码后才能导出。(
8、8)系统界面外观和布局,可个性化设计,总体原则是“界面简洁,操作便捷”。 3.3 系统的主要功能 (1)可以对个人日志进行保存、删除、导入和导出;(2)可以方便地在任何日期记载个人日志以及查看某个日期记载的日志 ;(3)可以显示当前日期。3.4 开发环境Windows XP;jdk1.6.0;eclipse编辑器。3.5 系统的功能模块划分与系统流程图3.5.1 系统的功能模块划分本日历记事本共有9个java源文件。NoteBook.java该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从该类开始执行。Note.java该文件负责创建日记文本leftPane.
9、java该文件负责创建创建左侧面板。NotePade.java该文件负责创建右侧面板。NotePopupMenu.java该文件负责在文本框上弹出快捷菜单DateTime.java该文件获得系统当前的日期,包括年月日YearMonth.java该文件负责创建管理年份和月份的对象。MonthPane.java该文件负责生成日历创建日历Music.java该文件负责创添加背景音乐NoteBookleftPaneMusicMonthPaneYearMonthPaneDateTimeNotePaneNoteNotePopupMenu Pane3.5.2 万年历模块流程图万年历选择微调按钮选择日期 正确
10、输入错误输入 改变当天日期 当天是否有日记? 有无更改记事本显示3.5.3 日记本模块流程图 显示日记本保存 删除 导入 导出以当前日期为值, 如果当前TreeMap打开打开文件对 打开保存文件当前内容为值保 有今天的记录就话框,如果选择 对话框,保存存到TreeMap中 删除它了文件就导入 到所选路径下3.6 各个类说明3.6.1 主类NoteBook 1.成员变量成员变量描述 变量类型 名称年、月、日 int year,month,day 日历对象 Calendar c左侧日历面板 LeftPane notepad记事本面板 NotePane 负责改变月 图标 Image 负责主窗口标题栏
11、图标的显示2.方法名称 功能 备注 NoteBook 创建窗口主程序 构造方法bookInit 变量初始化 addEvent 年月微调按钮事件noteBookRefresh 刷新ymListener 年月改变事件监听main 程序开始运行3.6.2 记事本Note类1、成员变量描述 变量类型 名称 文本输入区 JTextArea text 保存、删除日志的按钮 Button 保存日志、删除日志保存日志的散列表 Hashtable table保存散列表的文件 File file记录日志的人年、月、日 int year,month,day2、方法名称 功能 备注 NotaPad 创建记事本对象 构
12、造方法 setYear 设置年份getYear 获取年份 setMonth 设置月份 getMonth 获取月份setDay 设置日期getDay 获取日期 获取日志内容 获取日志内容 保存日志 保存日志 删除日志 删除日志actionPerformed 处理ActionEvent事件 接口方法 3.6.3 左侧面板LeftPane类1.成员变量描述 变量类型 名称 2.方法名称 功能 备注3.6.4 月份显示MonthPane类1.成员变量描述 变量类型 名称2.方法名称 功能 备注3.6.5 年月显示YearMonth类1.成员变量描述 变量类型 名称2.方法名称 功能 备注3.6.6 背
13、景音乐Music类1.成员变量描述 变量类型 名称2.方法名称 功能 备注3.6.7 日期获取DateTime类1.成员变量描述 变量类型 名称2.方法名称 功能 备注3.6.8 右侧记事本显示NotePane类1.成员变量描述 变量类型 名称2.方法名称 功能 备注3.6.9 记事本弹出菜单NotePopupMenu类1.成员变量描述 变量类型 名称2.方法名称 功能 备注4各种功能截图主界面保存日记删除日志导入日志导出日志导出前要输入密码密码不正确不能导出密码正确可以指定文件名导出5课程设计总结这次课程设计的主要目的是学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程
14、序开发的全过程,以及进一步熟悉掌握Java程序设计语言的基础内容,提高Java编程技术以及分析解决问题的综合能力。通过这次课程设计,我基本掌握了以上要求。由于专业知识有限,以及动手能力的欠缺,所以开发的系统不是很完善,有一些功能未实现,但是万年历记事本的基本功能均已实现。这个课程设计使我巩固了Java语言的知识,对于Eclipse开发工具也有了一定的了解。由于是第一次进行Java语言开发,所以不足之处不可避免。本系统的统计功能还不够强大,背景音乐,还有日历的阴历,节气都没实现,将在以后的时间,继续完善。6个人心得体会Java课程设计很快就结束了,虽然每天都熬到深夜,但却让我过得很充实,获益非浅
15、。通过这次课程设计,我懂得了只有坚持才会有成就。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。7附录AYearMonth.java源程序代码import java.awt.*;import javax
16、.swing.*;public class YearMonth extends JPanelprivate int year;private int month;private JLabel yl;private JLabel ml;JSpinner showYear;JSpinner showMonth; SpinnerNumberModel yearModel,monthModel;YearMonth()ymInit();add(yl);add(showYear);add(ml);add(showMonth);void ymInit()yl=new JLabel(年);ml=new JLa
17、bel( 月);year=DateTime.getYear();month=DateTime.getMonth();yearModel=new SpinnerNumberModel(year,0,10000,1);showYear = new JSpinner(yearModel);showYear.setEditor(new JSpinner.NumberEditor(showYear, 0000); showYear.setPreferredSize(new Dimension(60, 30); /改变尺寸yl.setFont(new Font(TimesRomn,Font.BOLD,16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 JAVA 记事本 设计 实现
限制150内