1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用NetBeansEclipseJBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio画出系统用例图和类图,并将UML图复制到设计报告中
通过这次设计,要求掌握以下内容:
面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用
类、包、接口的定义与使用
常用工具类与算法的实现(数组、向量、字符串、链表)
Java常用标准GUI组件及其事件处理
Java的异常处理机制
选题:简单日历记事本
开发平台:TextPad

3.课程设计说明书

1、需求分析(用例图)
  选题意义:自上世纪以来,随着电脑的逐渐普及,人们的工作和生活越来越方便和快捷,也使越来越多的人依赖于电脑办公。而传统的日历记事本显现出在当今时代的不足和局限性,比如不便携带、不便查、不能自动提醒等等,电脑桌面日历由此孕育而生。本设计就是针对当前网络上众多的桌面日历,综合其各项基本功能来开发一套属于自己的个性化日历系统。本设计主要采用NetBeans开发平台,通过java语言来实现记事,日期查询以及日志提醒等工作。为客户带来方便,同时系统的阐述开发采用的过程及方法。
功能实现:
1.系统界面左侧是日历和风景,用鼠标点击“上年”、“下年”、“”、“”时会按年份、月份相应加减;也可以手动在文本框中输入,按enter键显示。
2.系统右侧是文本框和一个简易时钟,鼠标单击某个日期,可以编辑日志,保存日志。用户可以读取、删除某个日期的日志,也可以继续添加日志,读取日志时,会在屏幕上方滚动显示;可以设置日志提示时间。
3.当某个日期有日志时,会在对应单元出现小图标作为标记,当用户删除日志后,图标随之消失;
4.当系统到达整点或日志时间时,会播放音乐进行提醒。
用例图:
2概要设计(类图)
Clock
-Date: Date
-Secondtime: Timer
-Hour: int
-Minute: int
-Second: int
-Hourline: Line2D
-minuteline: Line2D
-secondline: Line2D
+paint(Graphics g)
+actionPerformed(ActionEvent e)
ImageCanvas
-Tool: Toolkit
-Image: Image
+paint(Graphics g)
MainFrame
-Calendar: Calendar
-Calendarpad: Calendarpad
-Clock: Clock
-Edit: Edit
-Marquee: Marquee
-Picture: ImageCanvas
-Icon: ImageIcon
-Menubar: JMenuBar
-Dir: File
-Sstring: String
-Slength: int
-url1: URL
-backgroundmusic: AudioClip
-timer: Timer
-datem: Date
-occourTime: String
+actionPerformed(ActionEvent e)
+mousePressed(MouseEvent e)
+doMark()
+isHaveDailyRecord(int n)
3详细设计
程序块中使用的类:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import java.io.*;
import javax.swing.Timer;
import *;
import java.*;
import java.applet.*;
根据UML图,写出Java程序的代码举例
保存日志:
删除日志:
读取日志:
闹钟提示:
4.编程实现
CalendarNotePad类:
CalendarPad类:
Marquee类:
ImageCanvas类:
5、调试分析
初始端窗口:
保存日志对话框:
保存日志后的标记:
删除日志提示:
读取日志的滚动效果:
设置日志颜和字体:
6、用户使用说明
根据用户需求可有如下操作:
1.查询日历,可点击上下年、月份按钮或直接于输入框中输入想要查询的年月,按回车确定。
2.保存日志:在右侧文本区域输入想要保存的内容,点击保存按钮,出现提示框,显示保存。
3.读取日志:在左侧表中点击某日,点击读取日志,会在上方滚动显示。
marquee marquee4.删除日志:在查看完当天日志后,想删除的话点击“删除日志”按钮,按提示删除日志,删除日志之后标记会消失。
5.设置日志提醒:在输入日志时,输入想要的时间,一并保存,程序会在制定时间音乐提示。
7、参考资料
java语言实验与课程设计指导(南京大学出版社)
4.课程设计成果
 
所有程序文件一览表
序号
文件名称
作用
与其它文件的关系
1
Edit
日志的编写,读取,删除和显示
ActionListener,MouseListener,ItemListener接口的实现
2
Clock
产生时钟和闹铃
实现ActionListener接口
3
ImageCanvas
绘制图像
Canvas的子类,用于绘制图像
4
Marquee
把日志内容在窗口上方滚动显示
实现Runnable接口
5.课程设计心得
漫长的Java程序设计,觉得那么久的课程设计时间都没有最后这两天过的充实,由于之前一直觉得自己基础很差,所以对于自己写课程设计是在是不敢去想。在网上的代码对自己来说真的是一种侮辱,毕竟是自己的专业课,可是自己都写不出东西,内心很自卑。在第一次验收的时候,被那么直接的否决,那时候才发现自己真的是该觉醒了,哪怕是照着敲代码,也比什么都不做学的东西多啊!!所以,第一次验收结束,我就开始敲代码,从中午一直敲到晚上12点钟,第二天的考试我都忽略了!!哎,现在觉得自己很充实了!!虽然都不是自己的东西,但是我自己亲身经历了敲代码的日子!!也体会到了从几百个错误到调试运行出来的快乐!我会好好努力!!决定暑假回家认真补一补java,毕竟是自己的专业!恩,这个暑假,崛起!!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。