日历记事本Java程序设计.doc
《日历记事本Java程序设计.doc》由会员分享,可在线阅读,更多相关《日历记事本Java程序设计.doc(27页珍藏版)》请在沃文网上搜索。
1、徐州工程学院数理学院java课程设计说明书 课程名称日历记事本Java程序设计课程代码题 目日历记事本年级/专业/班学生姓名学号 指导老师王逢州开题时间完成时间 课程设计任务书 课程名称Java程序设计学生姓名1、设计的目的与要求;1、)为用户提供一个带有日程提醒功能的日历记事本并具备以下功能: (1)、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。(2)、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。(3)、查询信息:用户可以查询到某个月的所有的提示信息。2、)对java技术的进一
2、步了解和简单的运用;3、)初步的接触软件工程;设计进度及完成情况日 期内 容5月25日分析课题;对题目进行初步分析5月26日建立模型,完成整体设计以及功能模块分析5月27日确立每个类的功能,完成对算法的分析5月28日完成CalendarPad类的设计5月28日完成对Year类的设计5月28日完成对Month类的设计5月28日完成对NotePad类的设计5月29日紧系程序测试与修改5月29日完成设计,整理说明书5月29日打包发布程序目 录摘 要- 4 -1. 引言- 5 -2.设计目的与任务- 5 -3.设计方案- 6 -3.1 总体设计- 6 -3.2设计要求- 6 -3.3系统的主要功能-
3、6 -3.4系统功能结构图- 6 -3.5运行功能(截图)- 7 -4.结束语- 9 -5.致 谢- 9 -6.参考文献- 10 -7.附录A:源程序- 11 -8附录B:实验体会- 24 - 摘 要 本课程设计通过代码实现将理论知识和具体实践相结合,巩固提高了对JAVA的相关方法与概念的理解,使学生的发散思维及动手能力进一步加强,加强对计算机及软件工程的进一步了解。 在本案例中,我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。 日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,
4、简洁,方便的功能软件。 关键词: java;日历记事本 Java程序设计课程设计 日历记事本 1. 引言Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开 的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设 题材,借此巩固加深我们对Java的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常
5、有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 2.设计目的与任务本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。3.设计方案3.1 总体设计(1
6、)问题定 义:创建日历记事本,实现对某日期的事情进行记录等功能。(2)问题分析:通过对“日历记事本”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这俩大功能。通过主类CalendPad创建主窗口,再用余下Year、Month、NotePad类来控制日期的变化和实现记事本的功能。(3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。 3.2设计要求 (1)界面的左侧是日历。该日历可以按年前后翻动,当鼠标单击“上一年”按钮时,当前日历的年份将减一;当鼠标左键单击“下年”按钮,当前日历的年份将加一。 (2)也可以在某年内按月前后翻动。当鼠标左键单击“
7、上月”按钮时,当前日历的月份将减一;当鼠标左键单击“下月” 当前日历表的月份将加一。 (3)使用鼠标左键在要选择的日期上单击,如有记事内容,程序将弹出对话框提示该日有记事内容,提示用户是否用记事本显示该内容。 (4)选择具体日期后,可以将记事本的内容保存起来,形成一个日志。 3.3系统的主要功能 (1)可以进行日期查询;(2)可以方便地在任何日期记载有关内容以及查看某个日期记载的内容 。 3.4系统功能结构图(1)CalendarPad类:负责创建日历记事本主窗口。该文件含有main方法,程序从该类开始执行,实现代码中的方法。(2)Year类:负责创建管理年份的对象(3)Month类:负责创建
8、管理月份的对象。(4)NotePad类:负责创建记事本。 CalendarPad主类NotePad类Year类Month类 图1 系统功能结构图3.5运行功能(截图) 图2 日历记事本界面 图3 保存记事 图4 删除记事 图5 修改年份图6 查看记事 4.结束语从本次课程设计的完成中,我们了解了课程设计的要求与方法,学会了程序设计基本步骤。进一步提高了团队合作的意识。同时,使我们感觉到,一个优秀的程序,不仅仅是可以运行的,更应该具较高的效率,合理的结构,良好的可读性和一定的容错性。 同时,我们认为一个程序的成功完成需要严谨的务实态度,和团队的团结协作的精神.团结协作和认真的态度是我们课程设计取
9、得成功的一项非常重要的保证。但在完成过程中也发现了不足,由于知识的限制,没有设置日记查看密码功能.以后的学习中我们将虚心向学. 5.致 谢我们真心的感谢王逢州老师对我们精心的指导和不倦的教育,他在我们的课程设计过程中提出了指导性的方案和架构,并指引我们阅读相关的资料和书籍,使我们在不熟悉的领域中仍能迅速掌握新的技术. 感谢校领导给我们这次难得的锻炼机会,让我们能更好的理解和实践java编程,让我们对java编程有了深刻的认知,进一步的了解了所学知识。 6.参考文献1 张广彬,孟红蕊,张永宝.Java课程设计案例精编M.北京:清华大学出版社,2007,1.2 黄晓东.Java课程设计案例精编M.
10、北京:中国水利水电出版社,2004,5.3 Java程序设计之网络编程M.北京:清华大学出版社,2006,3.4 Java并发编程设计原则与模式M.北京:中国电力出版社,2004,2.5 印昊.java与面向对象程序设计.高等教育出版社.2004.4.6 耿祥义,Java课程设计,清华大学出版社,2004.02 7、 附录A:源程序1、)CalendarPad类import java.util.Calendar;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.
11、util.Hashtable;public class CalendarPad extends JFrame implements MouseListener int year,month,day; Hashtable hashtable; File file; JTextField showDay; JLabel title; Calendar 日历; int 星期几; NotePad notepad=null; Month 负责改变月; Year 负责改变年; String 星期=星期日,星期一,星期二,星期三,星期四,星期五,星期六; JPanel leftPanel,rightPane
12、l; public CalendarPad(int year,int month,int day) leftPanel=new JPanel(); JPanel leftCenter=new JPanel(); JPanel leftNorth=new JPanel(); leftCenter.setLayout(new GridLayout(7,7); rightPanel=new JPanel(); this.year=year; this.month=month; this.day=day; 负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月
13、=new Month(this); 负责改变月.setMonth(month); title=new JLabel7; showDay=new JTextField42; for(int j=0;j7;j+) titlej=new JLabel(); titlej.setText(星期j); titlej.setBorder(BorderFactory.createRaisedBevelBorder(); leftCenter.add(titlej); title0.setForeground(Color.red); title6.setForeground(Color.blue); for(
14、int i=0;i42;i+) showDayi=new JTextField(); showDayi.addMouseListener(this); showDayi.setEditable(false); leftCenter.add(showDayi); 日历=Calendar.getInstance(); Box box=Box.createHorizontalBox(); box.add(负责改变年); box.add(负责改变月); leftNorth.add(box); leftPanel.setLayout(new BorderLayout(); leftPanel.add(l
15、eftNorth,BorderLayout.NORTH); leftPanel.add(leftCenter,BorderLayout.CENTER); leftPanel.add(new Label(请在年份输入框输入所查年份(负数表示公元前),并回车确定), BorderLayout.SOUTH) ; leftPanel.validate(); Container con=getContentPane(); JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel,rightPanel); con.add(
16、split,BorderLayout.CENTER); con.validate(); hashtable=new Hashtable(); file=new File(日历记事本.txt); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(hashtable); objectOut.close(); out.close(); catch(IO
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 日历 记事本 Java 程序设计