您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 日历记事本课程设计报告
Java语言与面向对象技术课程设计报告(2013--2014年度第1学期)日历记事本专业计算机科学与技术学生姓名张昊班级M计算机101学号1051401108指导教师徐静完成日期2013年10月15日日历记事本目录1概述...............................................................11.1课程设计目的................................................11.2课程设计内容................................................12系统需求分析...........................................................12.1系统目标....................................................12.2主体功能....................................................12.3开发环境....................................................13系统概要设计...........................................................23.1系统的功能模块划分..........................................23.2系统流程图..................................................24系统详细设计............................................................45测试..................................................................105.1测试方案...................................................105.2测试结果...................................................106小结..................................................................13参考文献................................................................14附录................................................................15附录1源程序清单......................................................15Java语言与面向对象技术课程设计报告(2013)1日历记事本1概述1.1课程设计目的此次的课程设计的主要目的是让我们能够熟练的运用以前所学的JAVA的知识,利用这些理论付诸于行动,加强我们的动手实践能力,我们所学的不仅仅局限于课本以及理论,还要去动手。1.2课程设计内容a.系统界面的左侧是日历和一幅图象。该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键但击“下年”按钮,可将当前日历年份加一。该日历还可以在某年内按月前后翻动,用鼠标左键单击“上月”按钮,可将当前日历的月份减一;用鼠标左键单击“下月”按钮,可将当前日历月份增一。b.系统界面的右侧是记事本和一个时钟。用鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件,该文件的名字是由当前日期组成的字符序列。用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的内容。c.当某个日期有日志时,显示该日期的外观上就会出现“有”标记,表明这个日期有日志;当用户删除某个日期的日志后,该日期的外观上的“有”标记就会消失。2系统需求分析2.1系统目标设计GUI截面的日历记事本,系统将日历和记事本结合在一起,可以方便地保存、查看日志,即在任何日期记载下有关内容或查看某个日期记载的内容。2.2主体功能a.有个总体的主类,程序即从此类开始执行。b.创建显示日期的类,用来刻画与日期相关的数据。c.创建表示日历的类,用来负责显示和修改日期的数据。d.创建表示记事本的类,用来提供记事本的功能。e.创建表示图像的类,用来绘制图像。日历记事本2f.创建表示时钟的类,用来显示时钟。2.3开发环境操作系统:MicrosoftWindows98/2000/XP开发工具:NetBeansIDE6.83系统概要设计3.1系统的功能模块划分3.1.1日历记事本的主界面模块CalendarWindow类负责创建日历记事本的主窗口,该类含有main方法,程序从该类开始执行。CalendarWindow类的成员变量中有5种重要类型的对象:CalendarPad、NotePad、Clock、CalendarMessage和CalendarImage对象。3.1.2日历记事本CalendarMessage模块CalendarMessage类创建的对象是CalendarWindow类的重要成员之一,用来刻画和“日期”有关的数据。3.1.3日历记事本CalendarPad模块CalendarPad是JPanel类的子类,所创建的对象是CalendarWindow类的重要成员致意,用来表示“日历”,即负责显示和修改CalendarMessage对象中的日期数据。3.1.4日历记事本NotePad模块NotePad类是JPanel类的一个子类,创建的对象表示“记事本”,提供编辑、读取、保存和删除日志的功能。3.1.5日历记事本CalendarImage模块CalendarImage类所创建的对象是CalendarWindow类的成员之一,负责绘制图象。3.1.6日历记事本Clock模块Clock类所创建的对象是CalendarWindow类的成员之一,负责显示时钟。3.2系统流程图日历记事本的功能图如下图所示:Java语言与面向对象技术课程设计报告(2013)3图3-2-1总体功能图根据对日历记事本的功能分析,设计得到日历记事本的总流程,如图3-2-2所示图3-2-2总体流程图开始结束选择日期是否有日志保存编辑YN删除读取添加日历记事本44系统详细设计4.1CalendarWindow类CalendarWindowl类是javax.swing包中JFrame的一个子类,并实现了ActionListener、MouseListener和FocusListener接口。关于UML图中有关数据和方法的详细说明:1)成员变量a.Year,month和day是int型数据,它们的值分别确定年份、月份和日期。b.calendarMesssage是CalendarMesssage对象,该对象可以处理和日期有关的数据。c.calendarPad是CalendarPad对象,该对象可以显示和日期有关的数据。d.notePad是NotePad对象,具有编辑、读取、保存和删除日志的功能。e.showYear和showMonth是JTextField类创建的文本框,用来显示年份和月份。f.showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。g.calendarImage是CalendarImage创建的对象,用来显示图象。h.clock是Clock创建的对象,用来显示时钟。i.nextYear,previousYear,nextMouth和previousMouth是JButton创建的按钮对象,名字依次为“上午”、“上年”、“下月”和“上月”。j.saveDailyRecord,deleteDailyRecord和readDailyRecord是JButton创建的按钮对象,名字依次为“保存日志”、“删除日志”和“读取日志”。2)方法a.CalendarWindow()是构造方法,负责完成窗口的初始化。b.actionPerformed(ActionEvent)方法是CalendarWindow类实现的。ActionListener接口中的方法。Java语言与面向对象技术课程设计报告(2013)5图4-1CalendarWindow类的UML图4.2CalendarMessage类CalendarMessage类创建的对象calendarMessage是CalendarWindow窗口的重要成员之一,负责处理和日期有关的数据。关于UML图中有关数据和方法的详细说明:1)成员变量a.setYear(int)和getYear()方法分别用来设置year和获取year的值。b.setMonth(int)和getMonth()方法分别用来设置month和获取month的值。c.setDay(int)和getDay()方法分别用来设置day和获取day的值。d.getMonthCalendar()方法按着习惯来处理日期数据,即日历牌中每行的第一列为“星期日”。e.getMonthCalendar()方法根据year,month和day的值返回一个存放着“日历”数据的String类型的数组。2)方法a.setYear(int)和getYear()方法分别用来设置year和获取year的值。b.setMonth(int)和getMonth()方法分别用来设置month和获取month的值。c.setDay(int)和getDay()方法分别用来设置day和获取day的值。d.getMonthCalendar()方法按着习惯来处理日期数据,即日历牌中每行的第一列为“星期日”。getMonthCalendar()方法根据year,month和day的值返回一个存放着“日历”数据的String类型的数组。日历记事本6CalendarMessageYear.month,day:intsetYear(int):voidgetYear():intsetMonth(int):voidgetMonth():intsetDay(int):voidgetDay():intgetMonthCalendar():String[]图4-2CalendarMessage类的UML图4.3CalendarPad类CalendarPAd类是javax.swing包中JPanel容器的子类。所创建的对象:calendarPad是CalendarWindow类中最重要的成员之一,负责显示经CalendarMessage对象处理后的日期数据,被添加到CalendarWinow窗口的左上侧。关于UML图中有关数据和方法的详细说明:1)成员变量a.Year,month和day是int型数据,它们的值分别确定年份,月份和日期。b.calendarMessage是CalendarMessage对象,该对象可以处理和日期有关的数据。c.showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。d.“星期”是String数组。2)方法a.CalendarPad()是构造方法,用来创建calendarPad对象。b.setShowDayTextField(JtextField[])方法负责设置showDay数组。c.setCalendarMessage(CalendarMessage)方法负责设置calendarMessage对象。d.showMonthCalendar()方法负责显示“日历”。Java语言与面向对象技术课程设计报告(2013)7图4-3CalendarPad类的UML图4.4NotePad类NotePad类javax.swing包中JPanel容器的子类,实现了ActionListener接口,所创建的对象:note
本文标题:日历记事本课程设计报告
链接地址:https://www.777doc.com/doc-5541782 .html