欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    日历记事本设计6个类Java课程设计.docx

    • 资源ID:17335454       资源大小:1.36MB        全文页数:51页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    日历记事本设计6个类Java课程设计.docx

    1、日历记事本设计6个类Java课程设计Java语言与面向对象技术课程设计报告( 2013 - 2014年度第 1 学期)日历记事本专业软件工程学生姓名班级学号指导教师完成日期1 概 述 11.1 课程设计目的 11.2 课程设计内容 12 系统需求分析 12.1 系统目标 12.2 主体功能 12.3 开发环境 13 系统概要设计 13.1 系统的功能模块划分 13.2 系统流程图 24系统详细设计 25 测试 55.1 测试方案 115.2 测试结果 126 小结 14参考文献 15附 录 16附录1 源程序清单 16日历记事本1 概 述 1.1 课程设计目的1.学习Java程序开发的环境搭建

    2、与配置,并且在实际运用中学习和和掌握Java程序开发的过程2.通过课程设计进一步掌握Java程序设计语言的基础内容,如用户图形界面设计等3.通过亲自设计,编写,调试程序来扩展知识面和动手操作能力4.加强研发、调试程序的能力;增强分析、解决问题的能力;提高科技论文写作能力1.2 课程设计内容 设计GUI界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。2 系统需求分析2.1 系统目标1.系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前的日历的年份减一;当鼠标左键单击“下年”按钮,当前日历年份加一。2.该

    3、日历也可以在某年内按月前后翻动,鼠标单击“上月”按钮时,当前的日历的月份减一;当鼠标左键单击“下月”按钮,当前日历月份加一。3.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。2.2 主体功能1.用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。2.通过按按钮“上年”和“下年”对年份进行翻页;通过按按钮“上月”和“下月”对月份进行翻页。3.用户可以通过输入年份来查看自己的日志。2.3 开发环境Windows 8;jdk1.5.0-0-05;ultraedit开发工具;3 系统概要设计3.1 系统的功能模块划分本日

    4、历记事本共有6个java源文件。CalendarWindow.java该文件负责创建日历记事本的主窗口,该类含有main方法,程序从该类开始执行。CalendarMessage.java该文件用来刻画和“日期”有关的数据。CalendarPad.java该java用来表示“日历”,即负责显示和修改CalendarMessage对象中的日期数据。NotePad.java该文件负责创建记事本。CalendarImage.java该文件负责绘制图像。Clock.java该文件负责显示时钟。3.2 系统流程图 CalendarWindowCalendarMessageCalendarImageCale

    5、ndarPadJTextFieldFileJTextAreaNotePadClock4系统详细设计 4.1 CalendarWindow类1.效果图CalendarWindow创建的窗口效果如图4.1所示。图4.1 CalendarWindow创建的窗口2.UML图CalendarWindow类是javax.swing包中JFrame的一个子类,并实现了ActionListener、MouseListener和FocusListener接口,并标明该类的主要成员变量和方法的UML图如图4.2所示。以下是UML图中有关数据和方法的详细说明。JFrameActionListenerMouseLis

    6、tenerFocusListenerCalendarWindowyear,month,day:int calendarImage:CalendarImagecalendarMessage:CalendarMessage clock:ClockcalendarPad:CalendarPad nextYear,previousYear,nextMonth,previousMonth:JButtonnotePad:NotePad saveDailyRecord,deleteDailyRecord,readDailyRecord:JButtonshowYear,showMonth:JTextField

    7、 dir:FileshowDay:JTextFieldCalenderWindow():无类型 focusGained(FocusEvent)actionPerformed(ActionEvent):void focusLost(FocusEvent):voidmousePerformed(MouseEvent):void doMark()main(String):void图4.2 CalendarWindow类的UML图1)成员变量year,month和day是int型整数,它们的值分别确定年份、月份和日期。calendarMessage是CalendarMessage对象,该对象可以处理和

    8、日期有关的数据。calendarPad是CalendarPad对象,该对象可以显示和日期有关的数据。notePad是NotePad对象,具有编辑、读取、保存和删除日志的功能。 showYear和ShowMonth是JTextField类创建的文本框,用来显示年份和月份。showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。calendarImage是CalendarImage创建的对象,用来显示图像。clock是Clock创建的对象,用来显示时钟。nextYear,previousYear,nextMonth和previousMonth是JButton创建的按钮对象,

    9、名字依次为“下年”,“上年”,“下月”和“上月”。这些按钮都将当前窗口注册为自己的ActionEvent事件监视器。saveDailyRecord,deleteDailyRecord和readDailyRecord是JButton创建的按钮对象,名字依次为“保存日志”、“删除日志”和“读取日志”。这些按钮都将当前窗口注册为自己的ActionEvent事件监视器。2)方法CalendarWindow()是构造方法,负责完成窗口的初始化。actionPerformed(ActionEvent)方法是CalendarWindow类实现的ActionListener接口中的方法。CalendarWin

    10、dow创建的窗口是nextYear,previousYear,nextMonth、previousMonth、saveDailyRecord,deleteDailyRecord和readDailyRecord按钮的ActionEvent事件监视器,当用户单击其中按钮时,窗口将执行actionPerformed(ActionEvent)方法进行相应的操作。mousePressed(MouseEvent)方法是CalendarWindow类实现的MouseListener接口中的方法。CalendarWindow创建的窗口是showDay数组中的JTextField文本框的MouseEvent事件

    11、监视器,当用户在某个显示日期的文本框上按下鼠标左键时,窗口将执行mousePressed(MouseEvent)方法进行相应的操作。focusGained(FocusEvent)和focusLost(FocusEvent)方法是CalendarWindow类实现的FocusListener接口中的方法。CalendarWindow创建的窗口是showDay数组中的JTextField文本框的FocusEvent事件监视器,当用户的操作导致某个显示日期的文本框的焦点发生变化时,窗口将执行focusGained(FocusEvent)或focusLost(FocusEvent)方法进行相应的操作。

    12、doMark()方法负责对有日志的日期作出标记。main方法是程序运行的入口方法。4.2 CalendarMessage类1.效果图CalendarMessage创建的对象负责处理和日期有关的数据。没有可显示的效果图。2.UML图CalendarMessage类创建的对象calendarMessage是CalendarWindow窗口的重要成员之一,负责处理和日期有关的数据。标明CalendarMessage类的主要成员变量和方法以及和CalendarWindow类之间组合关系的UML图如图4.3所示。CalendarMessageyear,month,day:intsetYear(int):

    13、voidgetYear():intsetMonth(int):voidgetMonth():intsetDay(int):voidgetDay():intgetMonthCalendar():StringCalendarWindowcalendarMessage:CalendarMessage图4.3 CalendarMessage类的UML图以下是UML图中有关数据和方法的详细说明。1)成员变量year,month和day是int型数据,它们的值分别确定年份、月份和日期。2)方法setYear(int)和getYear()方法分别用来设置year和获取year的值。setMonth(int)

    14、和getMonth()方法分别用来设置month和获取month的值。setDay(int)和getDay()方法分别用来设置day和获取day的值。getMonthCalendar()方法按着习惯来处理日期数据,即日历牌中每行的第一列为“星期日”。getMonthCalendar()方法根据year,month和day的值返回一个存放着“日历”数据的String类型的数组,例如,如果某月有30天,而且该月的1日是星期三,那么返回的String类型的数组是:“”,“”,“”,“1”,“2”,.“30”。4.3 CalendarPad类1.效果图CalendarPad创建的对象效果如图4.4所示

    15、。图4.4 CalendarPad创建的对象2.UML图CalendarPad类是javax.swing包中JPanel容器的子类,所创建的对象:calendarPad是CalendarWindow类中最重要的成员之一,负责显示经CalendarMessage对象处理后的日期数据,被添加到CalendarWindow窗口的左上侧。标明CalendarPad类的主要成员变量、方法以及和CalendarWindow类之间组合关系的UML图如图4.5所示。JPanelCalendarPadyear,month,day:intcalendarMessage:CalendarMessageshowDay

    16、:JTextField星期:StringCalendarPad():无类型setShowDayTextField(JTextField):voidsetCalendarMessage(CalendarMessage):voidshowMonthCalendar():voidCalendarWindowcalendarPad:CalendarPad 图4.5 CalendarPad类的UML图以下是UML图中有关数据和方法的详细说明。1)成员变量year,month和day是int型数据,它们的值分别确定年份、月份和日期。calendarMessage是CalendarMessage对象,该对象

    17、可以处理和日期有关的数据。showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。“星期”是String数组,单元的值依次为:“SUN日”,“MON一”,“TUE二”,“WED三”,“THU四”,“FRI五”,“SAT六”。2)方法CalendarPad()是构造方法,用来创建calendarPad对象。setShowDayTextField(JTextField)方法负责设置showDay数组。setCalendarMessage(CalendarMessage)方法负责设置calendarMessage对象。showMonthCalendar()方法负责显示“日历”

    18、。4.4 NotePad类1.效果图NotePad创建的对象效果如图4.6所示。图4.6 NotePad创建的对象2.UML图NotePad类javax.swing包中JPanel容器的子类,实现了ActionListener接口,所创建的对象:notePad是MineGame CalendarWindow类中最重要的成员之一,作为一个容器添加到CalendarWindow窗口的右上侧。标明NotePad类的主要成员变量和方法以及和CalendarWindow类之间组合关系的UML图如图4.7所示。JPanelActionListenerNotePadtext:JTextAreashowMes

    19、sage,time:JTextFieldMenu:JPopupMenuitemCopy,itemCut,itemPaste,itemClear:JMenuItembtm:JButtonp1,p2,p3:JPanellabl:JLabelSize:StringNotePad:无类型setShowMessage(int,int,int):voidsave(File,int,int,int):voiddelete(File,int,int,int):voidread(File,int,int,int):voidCalendarWindownotePad;NotePad 图4.7 NotePad类的U

    20、ML图以下是UML图中有关数据和方法的详细说明。1)成员变量text是JTextArea创建的文本区,可在text中编辑多行文本。showMessage是JTextField创建的文本条,用来显示和日期有关的数据。menu是JPopupMenu创建的弹出式菜单。itemCopy、itemCut、itemPaste和itemClear是JMenuItem创建的菜单项,名字依次是“复制”、“剪切”、“粘贴”和“清空”。2)方法NotePad()是构造方法,用来创建notePad对象。setShowMessage(int,int,int)方法根据参数指定的日期数据显示有关日期信息。save(File

    21、,int,int,int)方法根据参数指定的日期保存日志。delete(File,int,int,int)方法删除参数日期所指定日志。read(File,int,int,int)方法读取参数日期所指定日志。4.5 CalendarImage类1.效果图CalendarImage创建的对象负责绘制图像,效果如图4.8所示。 图4.8 C alendarImage创建的对象2.UML图CalendarImage类是javax.swing包中JPanel容器的一个子类,创建的对象calendarImage是CalendarWindow类的成员之一,负责绘制图像,作为一个容器添加到CalendarWi

    22、ndow窗口的左下侧。标明CalendarImage类的主要成员变量、方法以及和CalendarWindow类之间组合关系的UML图如图4.9所示。JPanelCalendarImageimageFile:Fileimage:Imagetool:ToolkitCalendarImage():无类型setImageFile(File):voidpaintComponent(Graphics):voidCalendarWindowcalendarImage:CalendarImage图4.9 CalendarImage类的UML图以下是UML图中有关数据和方法的详细说明。1)成员变量imageFi

    23、le是File对象,用来存放图像文件的引用。image是Image对象。tool是Toolkit对象,负责创建image对象。2)方法CalendarImage()是构造方法,负责创建calendarImage对象。setImageFile(File)方法负责设置imageFile对象,并根据imageFile创建image。paintComponent(Graphics)方法负责绘制image。4.6 Clock类1.效果图Clock类创建的时钟效果如图4.10所示。 图4.10 Clock创建的对象2.UML图Clock类是javax.swing包中JPanel容器的子类,并实现了Acti

    24、onListener接口,所创建的对象:clock是CalendarWindow类的成员之一,负责显示时间,被添加到CalendarWindow窗口的右下侧。标明Clock类的主要成员变量、方法以及和CalendarWindow类之间组合关系的UML图如图4.11所示。JPanelActionListenerClockdate:DatesecondTime:Timerhour,minute,second:intsecondLine,minuteLine,hourLineLine:Line2DpointSX,pointSY,pointMX,pointMY,pointHX,pointHY:doub

    25、leClock():无类型initPoint():voidpaintComponent(Graphics):voidactionPerformed(ActionEvent):voidCalendarWindowclock:Clock图4.11 Clock类的UML图以下是UML图中有关数据和方法的详细说明。1)成员变量date是Date对象,负责封装本地时间。secondTime是javax.swing包中Timer类创建的计时器。hour,minute和second是int型数据,其值分别代表“小时”、“分钟”和“秒”。secondLine,minuteLine和hourLine是Line2

    26、D对象,分别负责绘制“时针”、“分针”和“秒针”。pointSX,pointSY是double型数组,其单元值用来表示秒针端点坐标。pointMX,pointMY是double型数组,其单元值用来表示分针端点坐标。pointHX,pointHY是double型数组,其单元值用来表示时针端点坐标。2)方法Clock()是构造方法,用来创建clock对象。initPoint()负责表盘所需要的坐标点。paintComponent(Graphics)负责完成绘制工作。actionPerformed(ActionEvent)是接口ActionListener中的方法。使用Timer类的构造方法:Tim

    27、er(int a,Object b)创建一个计时器,其中的参数a的单位是毫秒,确定计时器每隔a毫秒“振铃”一次,参数b是计时器的监视器。计时器发生的振铃事件是ActionEvent类型事件,当振铃事件发生时,监视器就会监视到这个事件,监视器就回调用ActionListener接口中的actionPerformed(ActionEvent)方法,该方法所做的操作是:每隔1秒钟,让“秒针”前进一个刻度,即secondLine改变端点坐标;每隔1分钟,让“分针”前进一个刻度(表盘一周为360,每个刻度为6),即minuteLine改变端点坐标;每隔12分钟,让“时针”前进一个刻度,即hourLine

    28、改变端点坐标。5 测试5.1 测试方案1.打开主界面,鼠标左键点击,查看日历界面。2.选定一个日期写日志。3.对日历添加,删除日志。4.修改年份,查看一些日志。5.2 测试结果1.打开主界面,鼠标左键点击,查看日历界面。如图:2.下图为选择的在2014年1月1日写的日志:3.添加删除日志,如图: 添加日志:删除日志:4.修改年份,查看日志:5.6 小结经过几天的课程设计,收获还是很大的。其实一开始拿到这个题时,简单的看了一下课本,对我来说,第一反应就是代码好多,但又想到,以后的代码可比这多多了。简单的看了会儿书,了解了大概,就开始敲代码,觉得敲代码好辛苦,是累人的活。其实第一天敲的代码真不多,

    29、后来,看到别人坚持了下来,心里告诉自己:我也行。后来做的也还行,比第一次强多了。其实说实话,对于我这样基础不算好的人来说,课程设计也就只能照着书打了。因为我想从敲代码里学到些,弥补些。后来代码成型时,发现了错误,改代码的时候,又多了些感想。别人此时正在忙着自己的事,自己都不好意思去打扰别人。突然觉得,其实只有自己最愿意帮助自己了。所以我要变得强大,2014,定要好好学习。此次的课程设计,基本上实现了所需的功能。通过这次的课程设计,也让我从课本上学到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,也让我更深层次的认识了java及其功能的强大。同时做这门课程设计也进一步加强了我的动手

    30、能力。在这些过程中也锻炼了我的思维分析、遇到问题及想方设法通过各种偶那个途径解决问题的能力。从理论到实践,路虽坎坷,但我还是坚持走完了。对我来说,这就是我的成功。我也注意到,我们把学到的理论用于实践,还是有一定困难的。这正好弥补了一些缺陷。课程设计结束了,可是学习却没结束,学习java没结束,锻炼自己的能力没结束。结束的虽是一门课程,但它却是为了更好的下一步的开始做铺垫。参考文献1耿祥义,张跃平. Java2实用教程(第三版)M . 北京:清华大学出版社, 2006 2耿祥义. Java课程设计(第三版)M . 北京:清华大学出版社, 20043张跃平.Java2实用教程实验指导与习题解答(第三版)M. 北京:清华大学出版社, 2004附 录附录1 源程序清单日历记事本的源程序代码 主类CalendarWindow:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;public class CalendarWindow extends JF


    注意事项

    本文(日历记事本设计6个类Java课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开