《基于Java的日历记事本》由会员分享,可在线阅读,更多相关《基于Java的日历记事本(29页珍藏版)》请在金锄头文库上搜索。
1、-摘 要Java是Sun公司推出的一种基于面向对象技术的编程语言,同时也是一种跨 平台的程序设计语言,是软件开发的一种革命性技术,已被列为当今世界信息技术的主流之一,Java语言是面向对象编程,并涉及到网络、多线程等重要的根底知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。Java 有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、平安、构造中立性、可移植性、高性能、多线程、动态性等。用JAVA 语言进展程序开发,目前十分流行。本设计通过 JAVA 来实现具有图形界面的日历记事本,表达了 JAVA 的高效性等特点。随着社会的开展,越来越多的人依靠电子产品生活,而他们
2、的日常工作也是离不开这些电子产品的,所以开发出一款日历备忘录就显得必不可少了。利用面向对象的程序设计语言Java来实现具有图形界面的日历记事本。日历具有根本的浏览和日期修改的功能。记事本具有输入、保存、删除、查看等根本功能。关键词:面向对象 Java 日历 记事本目录摘 要I目录II第1章 绪论31.1概 述31.2 课程设计题目31.3 课程设计目的31.4 课程设计容31.5 工程背景和目标3第2章 系统需求分析52.1 系统目标52.2 主体功能52.3 开发环境5第3章 系统概要设计63.1 系统的功能模块划分63.2 系统流程6第4章 系统详细设计84.1程序变量和方法8第5章 算法
3、描述和编码实现105.1 类的算法105.2 编码实现11第6章 测试146.1 测试方案146.2 测试结果14总结18参考文献19附录20. z.-第1章 绪论1.1概 述日历记事本的包括日历和日志记事本两局部:日历局部采用公历历法,界面设计:日期局部每行7天,每列 5天,可完全 记录一个月中的所有天数。星期采用中文显示,每行的第一天为星期日。星期六显示为蓝色,星期日显示为红色,当前日期显示为绿色,其它日期显示为黑色。年份通过负数表示公元前,正数表示公元后。用户可通过使用鼠标点击按钮的方式改变日历的年份和月份。记事本局部提供输入、保存、显示、删除日志的功能。用户输入的日志记录在本系统所在的
4、目录保存为后缀名为.txt的文本文件。 用户只要选定要查看日志的日期,即可以通过鼠标点击显示日志的按钮来实现。1.2 课程设计题目基于Java语言的日历记事本1.3课程设计目的1.稳固和提高java编程技术。2.培养掌握成学设计的根本思路和方法。3.加强研发、调试程序的能力。4.增强分析、解决问题的能力。5.提高科技论文写作能力。1.4课程设计容设计GUI界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关容或查看某个日期的记录容。为使用者记录、管理个人日记以及每日心里路程,其中主要实现以下功能 本系统界面的左侧是日历。系统界面的右侧是记事本。选择具体日期后,
5、可以将记事本的容保存起来,形成一个日志。显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。1.5 工程背景和目标目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的根底知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。按照教学培养方案要求,学生在学习完课本中指定课时的知识后,应安排一定课时的课程设计。其主要目的是使学生深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言根底、异常处理、事件处理、小应用程序以及图形用户界面设计等。故此日历记事本应运而生。本课程设计是为了配合Java程序设计课程,
6、帮助学生深入学习掌握Java语言,熟练运用这个工具而设立的课程。通过课程设计各个工程的综合训练,加强学生对JAVA语言的理解,检验学生对专业理论知识理解与掌握的程度,锻炼学生综合运用JAVA程序设计处理所学的知识实际分析问题、解决问题的能力,使课堂上的理论在实践中得到运用,提高学生的综合素质,为学生毕业后的实际工作打好根底。同时也满足了大多数同学对于一款简单易用的日记本软件的需求。第2章 系统需求分析2.1 系统目标1系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击上年按钮时,当前日历的年份减一;当鼠标左键单击下年按钮,当前日历的年份加一。2该日历也可以在某年按月前后翻动。当鼠标左键单
7、击上月按钮时,当前日历的月份减一;当鼠标左键单击下月按钮时,当前日历的月份加一。3使用鼠标左键单击选定的日期,如已有记录容,系统将弹出对话框提示该日已有记录容,并询问用户是否用记事本显示该容。4用户选择具体日期后,可以将记事本的当前容保存起来,形成日志。2.2 主体功能用户可以方便地在任何日期记录下有关容或查看某个日期的记录容。通过按按钮上年和下年对年份进展翻页。通过按按钮上月和下月对月份进展翻页。用户可以通过输入年份来查看自己的日志。显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和
8、提醒时间相吻合时,给出具有提示信息的对话框。查询信息:用户可以查询到某个月的所有的提示信息。页面设计分为左右两个局部,左局部为日历的视图,上边放置了调节年份和月份的按钮,下边是日历的格式。右局部作为一个备忘录的文本域。当该日写有备忘时,会在文本域弹出提示有备忘是否查看。文本域的下边设有增加备忘和删除当前备忘的按钮。2.3 开发环境Windows XP;jdk1.5.0-0-05;ultraedit开发工具第3章 系统概要设计3.1 系统的功能模块划分本日历记事本共有4个java源文件。CalendarPad.java:该java文件生成的类负责创立本日历记事本程序主窗口。该类含有main方法,
9、程序从该类开场执行。Year.java:该文件负责创立管理年份的对象。Month.java:该文件负责创立管理月份对象。NotePad.java:该文件负责创立记事本。CalendarPad主类NotePadYearMonth 图3-1 类之间的关系3.2 系统流程1.系统实现设置日历牌CalendarPad排列mousePressed 事件 图3-2 系统功能构造2.系统实现流程CalendarPad作为主函数的入口。调用NotePad类的方法完善自己的窗口。当对窗口的年份和月份进展改变时就会触发Year类和Month类里的触发器和方法,从而到达日历备忘录的目的。是 显示窗口界面保存日志 删
10、除日志读取日志保存日志显示日志 选择日期删除并去掉有 否 是 是是 否否完毕程序 开场 图3-3 系统流程实现第4章 系统详细设计4.1程序变量和方法在设计日历记事本时,需要编写3个Java类:CalendarPad.java、Year.java、NotePad.java、month.java。日历记事本除了需要编写的上述3个Java所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。图形界面至少要有一个顶级Swing容器顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持;常用的顶级容器:Frame框架:表示主程序窗口
11、JDialog对话框:每个JDialog对象表示一个对话框,对话框属于二级窗口JApplet小程序:在浏览器显示一个小程序界面一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要局部的窗格窗格也可以看作是一种面板,但它是框架的一个组成局部组件不会直接放到框架上,而是放在假设干个面板上,这些面板再放到窗格上用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板public static void main(String args)JFrame frame=new JFrame(SwingApplication);JPanel panel1=new JP
12、anel();frame.getContentPane().add(panel1,BorderLayout.CENTER);关键是java.awt.*里面的两个与显示设备有关的类:GraphicsEnvironment和GraphicsDevice。GraphicsEnvironment为Java应用程序提供了特定平台的 GraphicsDevice对象和 Font 对象集合。这些GraphicsDevice可以是各种本机和远端机器的资源,如屏幕、打印机或者是Image Buffer,甚至是Graphics2D绘图方法的目标对象。而GraphicsDevice就是指特定的图形环境了,如屏幕和打
13、印设备等。这样,我们就可以用GraphicsDevice来操纵屏幕了。GraphicsDevice提供的setFullScreenWindow()方法就是设置全屏幕用的。监听器actionlistion:方 法:actionPerformed事 件:ActionEvent String getActionmand()actionmand是控件部的一个字符串,用于标识控件的状态。此函数可以取得控件的状态,从而决定到底该做什么。 int getModifiers()取得产生此事件时,用户同时按下的组合键 long getWhen()取得产生此事件时的时间戳事件产生原因:点击按钮,在列表框中选择容,
14、在文本框中点回车,计时器到期。1.CalendarPad类表4-1主要成员变量(属性)成员变量描述变量类型名称年、月、日intYear,month,day保存日志的散列表Hashtablehashtable存放散列表的文件Filefile显示日期JTextFieldshowDay日历对象Calendar日历记事本对象NotePadnotepad月Month负责改变月年Year负责改变年 表4-2 主要方法 名称功能备注CalendarPad创立程序主窗口构造方法设置日历牌设置日历的年份、月份排列排列月份中的mousePressed处理MouseEvent事件接口方法mian程序开场运行2.记事本NotePad表4-3主要成员变量(属性)描述变量类型名称文本输入区JTextAreatext保存、删除日志的按钮Button保存日志、删除日志保存日志的散列表Hashtabletable保存散列表的文件Filefile记录日志的年、月、日intyear,month,day 表4-4 主要方法名称功能备注NotePad创