java课程设计报告_第1页
java课程设计报告_第2页
java课程设计报告_第3页
java课程设计报告_第4页
java课程设计报告_第5页
已阅读5页,还剩36页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

黄 淮 学 院JAVA 课程设计报告题目: 日记本的设计与实现课程设计 学 院: 信息工程学院 姓 名: 刘学超 学 号: 1134120151 专 业: 软 件 工 程 班 级: 软工 1101B 班 指导教师: 王海荣 二 0 一二 年 十二月目 录1. 引 言 .32. 设计目的与任务 .43. 设计方案 .53.1 总体设计 .53.2 设计要求 .53.3 系统的主要功能 .53.4 开发环境 .53.5 系统的功能模块划分与系统流程图 .63.5.1 系统的功能模块划分 .63.5.2 万年历模块流程图 .73.5.3 日记本模块流程图 .73.6 各个类说明 .73.6.1 主类 NoteBook .73.6.2 记事 本 Note 类 .83.6.3 左侧面板 LeftPane 类 .93.6.4 月份显示 MonthPane 类 .93.6.5 年月显示 YearMonth 类 .93.6.6 日期获取 DateTime 类 .103.6.7 右侧记事本显示 NotePane 类 .113.6.8 记事本弹出菜单 NotePopupMenu 类 .114. 各种功能截图 .125. 课程设计总结 .156. 个人心得体会 .167. 附录 .17西南交通大学本科毕业设计(论文) 第 2 页摘 要本课程设计通过代码实现将理论知识和具体实践相结合,巩固提高了对 JAVA 的相关方法与概念的理解,使学生的发散思维及动手能力进一步加强,加强对计算机及软件工程的进一步了解。在这个课程设计中,做成了一个有日历标记的记事本软件,日记本的设计与实现面板由日历、记事本、图片、时钟四部分组成。日历部分可以选择不同的年份、月份、日期和星期;记事本模块可以实现查看,保存,删除日志等操作;并且每一步操作都有相应提示;图片模块可以显示预设的图片;时钟模块可以用时钟来显示当前时间。本软件是一个实用性较强,简洁,美观,方便的功能软件。关键字:记事本;日历;1. 引 言Java 是一种纯面向对象的、网络编程首选的语言。Java 技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对 Java 的学习,更好的掌握这门课程。为此 Java 课程设计决定以“日记本的设计与实现”为设题材,借此巩固加深我们对 Java 的了解。本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。2. 设计目的与任务本课程设计所要求达到的目的和任务:通过 Java 程序设计的一些重要理论基础来实现 “日记本的设计与实现”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对 Java 这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。3. 设计方案3.1 总体设计(1)问题定义:创建日记本的设计与实现,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。西南交通大学本科毕业设计(论文) 第 3 页(2)问题分析:通过对“日记本的设计与实现”这一题材的分析,我需要四个类来实现其“日历”和“记事本 ”这两大功能。通过主类 NoteBook 创建动日记本的设计与实现软件的主窗口,该类含有 main 方法,程序从该类开始执行。再用余下LeftPane、NotePane 类来显示并改变日期和实现记事本的功能。(3)研究意义:通过本次课程设计,我们掌握了 Java 语言的基本运用,提高了理论结合实际的能力。 3.2 设计要求 (1)日记本使用 Java 语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。(2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。(3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别的字号和颜色(4)记事本区,记事本内容按年月日记录且保存。(5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事内容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。(6)日记本应该是开放的,内容可按日期增减,保存应即时,删除需谨慎删除记录时,应进行对话框询问确定。(7)辅助功能包含了日记的导入导出。 “导入”可以将其他日记文件导入合并到当前“日记本的设计与实现”的日记本中;“导出”可将“日记本的设计与实现”的所有记录内容按日期为序导出到一个文本文件中。为安全起见导出时需加以安全确认,要求输入正确设定的密码后才能导出。(8)系统界面外观和布局,可个性化设计,总体原则是“界面简洁,操作便捷” 。 3.3 系统的主要功能 (1)可以对个人日志进行保存、删除、导入和导出;(2)可以方便地在任何日期记载个人日志以及查看某个日期记载的日志 ;(3)可以显示当前日期。3.4 开发环境Windows XP;jdk1.5.0_16,Eclipse 。 3.5 系统的功能模块划分与系统流程图3.5.1 系统的功能模块划分本日历记事本共有 11 个 java 源文件。NoteBook.java该 java 文件生成的类负责创建本日历记事本程序主窗口。该类含有 main 方法,程序从该类开始执行。西南交通大学本科毕业设计(论文) 第 4 页leftPane.java该文件负责创建创建左侧面板。NotePane.java该文件负责创建右侧面板、在文本框上弹出快捷菜单、创建日记文本DateTime.java该文件获得系统当前的日期,包括年月日YearMonth.java该文件负责创建管理年份和月份的对象。MonthPane.java该文件负责生成日历创建日历类模块图如图 3-1 所示.3.5.2 万年历模块流程图万年历流程图如图 3-2 所示图 3-1NotebookleftPaneMonthPaneYearMonthNotePaneDateTimeTimeLabel西南交通大学本科毕业设计(论文) 第 5 页万年历按钮 选择日期正确输入 错误输入改变当天日期当天是否有日记?有 无更改记事本显示3.5.3 日记本模块流程图日记本流程图如图 3-3 所示.显示日记本保存 删除 导入 导出以当前日期为值, 如果当前 TreeMap 打开文件对 打开保存文件当前内容为值保 有今天的记录就 话框,如果选择 对话框,保存存到 TreeMap 中 删除它 了文件就导入 到所选路径下图 3-2图 3-3西南交通大学本科毕业设计(论文) 第 6 页3.6 各个类说明3.6.1 记事本 NoteBook 类1.成员变量表 3-1成员变量描述 变量类型 名称年、月、日 int year,month,day 日历对象 Calendar c左侧日历面板 LeftPane lp记事本面板 NotePane np2.方法表 3-2名称 功能 备注 NoteBook 创建窗口主程序 构造方法bookInit 变量初始化 addEvent 年月微调按钮事件noteBookRefresh 刷新ymListener 年月改变事件监听main 程序开始运行3.6.2 记事本 NotePane 类1、成员变量表 3-3描述 变量类型 名称 文本输入区 JTextArea note输入文本区 JTextArea note保存、删除导入、导出日志的按钮 JButton save、delete、input、export保存日志的散列表 Hashtable table保存散列表的文件 File file记录日志的年、月、日 int year,month,day日期显示 JLable dateInfo剪切、复制、粘贴按钮 JMenuItem copy、cut、paste2、方法西南交通大学本科毕业设计(论文) 第 7 页表 3-4名称 功能 备注 NotePane 创建记事本面板对象 构造方法noteInit 在记事本上显示日期、buttonInit 对所有按钮进行初始化,并加入到按钮面板中addEvent 对所有按钮进行监听, 接口方法并对记事本进行监听initFile 文件存在,对文件进行排序actionPerformed 对按钮设计监听setDateInfo 设置日期信息input 导入日志内容 save 保存日志 delete 删除日志export 导出日志actionPerformed 处理 ActionEvent 事件 接口方法 3.6.3 左侧面板 LeftPane 类1.成员变量表 3-5描述 变量类型 名称日历上方图片 JLabel tupian左面板 JPanel lp年月微调器 YearMonth ym月份面板 MonthPane mp2.方法表 3-6名称 功能 备注LeftPane 设置左面图片,日历面板3.6.4 月份显示 MonthPane 类1.成员变量表 3-7描述 变量类型 名称文本区 JTextField showDay 年月微调器 YearMonth ym星期 String week星期标签 JLabel title年、月、日 int year,month,day西南交通大学本科毕业设计(论文) 第 8 页2.方法表 3-83.6.5 年月显示 YearMonth 类1.成员变量表 3-9描述 变量类型 名称年、月、日 int year,month,day年标签 JLabel y1月标签 JLabel m1显示年 JSpinner showYear显示月 JSpinner showMonth2.方法表 3-10表 3-113.6.6 日期获取 DateTime 类1.成员变量表 3-13描述 变量类型 名称日历获取 Calendar today2.方法表 3-14名称 功能 备注MonthPane 创建月份面板对象 构造方法mcInit 日期显示,并对星期六与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论