Java程序设计:写字留痕日历记事本系统

版权申诉
0 下载量 168 浏览量 更新于2024-06-25 收藏 5.95MB DOC 举报
"java课程设计方案" 本课程设计方案的目标是通过Java编程实现一个具有“写字留痕”功能的软件,集成了日历和记事本两大模块。设计旨在帮助学生巩固Java知识,提升解决实际问题的能力,强化编程技巧和资料检索技能。方案包括四个主要类:主类N2用于构建主窗口,YearMonth和MonthPane处理日期显示与变更,ImagePanel展示图片,Music控制音乐播放。 设计方案详细规定了软件的各个部分。日历部分采用微调器选择年月,文本框显示日历,同时考虑用户体验,如用不同颜色标注周末,字号和颜色突出当前日期。记事本功能要求按日期记录,支持内容增删,即时保存,删除前需确认。此外,提供导入导出功能,导入能合并其他日记文件,导出则需验证密码确保安全。 开发环境为Windows XP,使用jdk1.5.0_16和EditPlus编辑器。系统分为六个类:NoteBook负责主窗口和相关组件,DateTime获取当前日期,YearMonth和MonthPane处理日期,ImagePanel展示图像,Music处理音乐播放。系统功能包括日志的保存、删除、导入和导出,以及便捷地记录和查看日志,还能显示当前日期。 系统流程图中,万年历模块涉及选择日期、错误检查和更改显示,日记本模块关注内容的添加、显示和管理。每个类都有明确的职责,如NoteBook包含主窗口、日期时间、日历、文本框等元素,DateTime负责日期获取,YearMonth和MonthPane处理日期选择和显示,ImagePanel和Music分别处理图像和音乐。 这个课程设计项目不仅教授Java编程基础,还强调了软件工程的实践,包括模块化设计、用户交互和安全性考虑,有助于学生全面发展编程和系统设计能力。
2023-05-29 上传
java课程设计方案 设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来 实现"写字留痕"的"日历"和"记事本"的双重功能。并通过此次课程设计的训练,使学 生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高 解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析 设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实 验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断 创新的精神,逐步建立正确的全局观念。 设计方案 1 总体设计 (1)问题定义:创建写字留痕,实现对某日期的事情进行记录这主要功能,并能显示 设置的图片,增加美观。 (2)问题分析:通过对"写字留痕"这一题材的分析,我需要四个类来实现其"日历"和 "记事本"这两大功能。通过主类N2创建动写字留痕软件的主窗口,该类含有main方法, 程序从该类开始执行。再用余下YearMonth 、MonthPane类来显示并改变日期和实现记事本的功能。而ImagePanel类用来显示图片, Music类用来实现音乐的播放控制。 (3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合 实际的能力。 2 设计要求 (1)日记本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个 部分。 (2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑, 默认为当前日期。 (3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别 的字号和颜色 (4)记事本区,记事本容按年月日记录且保存。 (5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事 件,当单击任何一个日期时,若该日有记事容,则在日记本中显示该日期的记录文字; 若该日无记录,记事区保持空白。 (6)日记本应该是开放的,容可按日期增减,保存应即时,删除需谨慎删除记录时,应进 行对话框询问确定。 (7)辅助功能包含了日记的导入导出。"导入"可以将其他日记文件导入合并到当前"写字 留痕"的日记本中;"导出"可将"写字留痕"的所有记录容按日期为序导出到一个文本文件 中。为安全起见导出时需加以安全确认,要求输入正确设定的密码后才能导出。 (8)系统界面外观和布局,可个性化设计,总体原则是"界面简洁,操作便捷"。 3 系统的主要功能 (1)可以对个人日志进行保存、删除、导入和导出; (2)可以方便地在任何日期记载个人日志以及查看某个日期记载的日志 ; (3)可以显示当前日期。 4 开发环境 Windows XP;jdk1.5.0_16;EditPlus编辑器。 5 系统的功能模块划分与系统流程图 1 系统的功能模块划分 本日历记事本共有6个类。 Class NoteBook 该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从 该类开始执行。此外,该主类负责创建日记文本、负责创建创建左侧面板、负责创建右 侧面板、负责在文本框上弹出快捷菜单。 Class DateTime 该类获得系统当前的日期,包括年月日。 Class YearMonth 该类负责创建管理年份和月份的对象。 Class MonthPane 该类负责生成日历创建日历。 Class ImagePanel 该类负责出现图片的轮换。 Class Music 该类负责出现背景音乐以及控制音乐的播放。 模块图如图3-1所示. 2 万年历模块流程图 万年历流程图如图3-2所示. 万年历 按钮 选择日期 正确输入 错误输入 改变当天日期 当天是否有日记? 有 无 更改记事本显示 3 日记本模块流程图 日记本流程图如图3-3所示. 各个类说明 4 主类NoteBook 1.成员变量 表3-1 "成员变量描述 变量类型 名称 " "年、月、日 int " "nian,yue,ri,year,month,day " " " "日历对象 Calendar c,d " "时、分、秒 int hour,minute,second " "文本框 JTextArea t " "记事本面板 JPanel text " "微调器 YearMonth date " "月份面板 MonthPane mp " "按钮 JButton " "bclear,daoru,bsave,daochu " "gnew,gopen,gsave,gcopy,gcut,gpaste,ghelp " "标签 JLabel time1,time2 " "菜单栏 JMenuBar mnb " "菜单 JMenu " "file,edit,config,help,col
2023-05-29 上传
淮 海 工 学 院 计算机工程学院 课程设计报告 设计名称: 面向对象课程设计 选题名称: 基于C/S的图书查询系统的实现 姓 名: 学 号: 专业班级: 系 (院): 计算机工程学院 设计时间: 2014.3.12~2014.4.10 设计地点: 软件实验室、教室 "指导教师评语: " " " " " " " " " " " " " " " " " " " "签名: " "年 月 日 " "1.课程设计目的 " "《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后 " "进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、 " "方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对 " "象知识分析实际问题、解决实际问题的能力。 " "2.课程设计任务与要求: " "课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练" "掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio中画出系 " "统用例图和类图,并将UML图复制到设计报告中。 " "通过这次设计,要求掌握以下内容: " "面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 " "类、包、接口的定义与使用 " "常用工具类与算法的实现(数组、向量、字符串、链表) " "Java常用标准GUI组件及其事件处理 " "Java的异常处理机制 " "Java的数据库连接技术 " "Java的多线程技术与动画制作 " "Java的网络编程 " " " "设计选题:基于C/S的图书查询系统的实现 " "包括客户端程序和服务器端程序。客户端程序向服务器端提出请求:比如提供图书的作者名 " ",服务器端收到后,在数据库系统中查询到相关信息,发回客户端。 " " " " " " " " " "3.课程设计说明书 " "需求分析 " "基于C/S的图书查询系统的开发目的是为了提高查询效率。选用Java开发工具可以提高查询系" "统的移植性和兼容性。系统主要功能是实现读者对图书信息进行准确、快速查阅。 " "因此系统主要针对以下四方面的需求进行设计: " "图书信息管理:涉及图书基本信息的添加、删除、修改;读者可以根据书名、作者、、书号 " "等关键字检索所需要的图书 " "读者信息管理:涉及读者基本信息的录入、修改、删除;可以根据读者的证号、姓名等信息 " "查询到读者,读者登录到系统后能够修改自己的联系方式等信息 " "借书还书管理:实现图书的借还功能,根据读者借书证号和书号将图书借给读者,根据图书 " "条形码归还图书。 " "系统信息管理:涉及管理员用户与系统参数的管理和维护,如设置图书的借期、数量、超期 " "每天罚款金额等 " " " "二、概要设计 " "1、系统结构 " "基于C/S的图书查询系统分为服务器和客户端两个部分。服务器负责监听客户请求,如提供图" "书的作者名等,并将查询的结果通过网络发回客户端。而客户端主要负责构建图形用户界面 " ",编写事件处理方法,在事件处理的方法体中发送请求并接收服务器端传来的数据。 " "系统采用C/S结构,利用服务器和客户端的Socket通信机制完成信息的传递,数据库用来统计" "图书信息,因为主要涉及信息表格,所以选用Access实现数据库功能。 " "因此系统总共由服务器、客户端和数据库三部分组成。 " "2、各模块设计 " "a)服务器 " "(1)创建一个等待连接的ServerSocket对象。 " " " "(2)调用ServerSocket对象的accept()方法侦听接受客户端的连接请求。当侦听到一个客户的" "请求时,连接成功,并返回一个Socket对象。 " " (3)创建与Socket对象绑定的输入输出流,并建立相应的数据输入输出流。 " " (4)通过数据输入输出流与客户端进行数据读写,完成双向通信。 " " (5)当客户端断开连接时,关闭各个流对象,结束通信。 " "该部分主要由Server、ServerThread和GetConnection3个类组成。 " "b)客户端 " "(1)创建指定服务器上指定端口号的Socket对象。 " " (2)创建与Socket对象绑定的输入输出流,并建立相应的数据输入输出流。 " " (3)通过数据输入输出流与服务器端进行数据读写,完成双向通信。 " " (4)通过调用close()方法关闭与服务器端的连接,并关闭各个流对象,结束通信。 " "该部分由Client、login、BookRetrieve、SocketIO、add_book、del_book、add_user、view"