java课程设计_简单日历程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南第一师范学院信息科学与工程系
课程设计报告
题目JA V A简易时间日历程序
学生姓名邹跃玲
学号0307307016
专业班级07计算机应用技术一班
指导教师伍智平
2009 年12 月18 日
目录
1. 课程设计任务书……………………………………第 2页
2. 题目说明……………………………………………第 4页
3. 系统设计……………………………………………第 4页
4. 类及接口描述………………………………………第 5页
5. 运行结果……………………………………………第 7页
6. 程序源代码…………………………………………第 8页
7. 总结 (17)
8. 参考文献 (18)
2007级计算机应用专业《Java课程设计》
安排计划书
指导老师:伍智平指导方式:集体辅导、分组讨论研究
一、课程设计教学目的及基本要求
1、培养独立的Java语言与算法设计方法,具备初步的独立分析和设计能力;
2、学习软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和
技能;
3、训练综合运用所学的理论知识和方法进行独立分析和解决问题的能力;
4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所
应具备的科学的工作方法和作风。
5、设计的题目要求达到一定工作量,程序能够运行,并对标准的测试数据有
正确的输出结果。
6、按《湖南第一师范学院信息科学与工程系课程设计报告写作规范》要求的
书写格式编写出课程设计报告书,报告书不少于8页(代码不算)。
二、计划安排
1、任务书下达时间:第15周
2、任务讲解与动员:第15周
3、任务设计与辅导:
辅导教师:伍智平
辅导形式:以学生自行设计为主,教师现场解答学生疑难问题。
纪律要求:上课前学生签到,课后学习委员交名单给老师。
4、完成时间:第16周星期四
三、课程设计课题与安排
每位学生在下面列出的设计题目中选择其中的一个独立完成:
课题详细要求:参见教材13.2节《课程设计的要求和选题》(P408~413)
五、提交成果
1、《课程设计报告》(电子版和打印版,格式参照《湖南第一师范学院信息科学与工程系课程设计报告写作规范》)(注意:报告中一定要包括课程设计任务书,课程设计任务书的格式参加本文档的附件1)
2、源代码(电子版和打印版)
六、成绩评定
1、根据平时上机考勤(考勤20分);注重平时上机成绩,教师要不定期检查学生进度,学生不得以自己有私人电脑为借口而不来上机。
2、根据程序运行结果(上机演示30分);
3、根据《Java课程设计报告》,学生能对自己的程序面对教师提问并能熟练
地解释清楚(报告50分)
4、无报告书者或者答辩不通过者,课程设计记0分。
指导教师:伍智平
2009年12月10日
课程设计题目
2. 题目说明
通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。
3. 系统设计
2.1 设计目标
一个完整的程序应具有以下功能:
1)显示当月日历、当前日期、当前时间;
2)可查寻任意月以及任意年的日历;
3)使用图形化界面能够弹出对话框;
5)正常退出程序。
2.2 设计思想
设计一个类用来构成日历系统的主窗口,然后编写一个框架类显示时间和提示信息。在设计中应用了多种容器和控件。
2.3 系统模块划分
图1:简易日历的程序结构图
2.3.1初始化:
public void init()完成界面初始化,形成一个以挂历形式显示当前日期的窗口。
2.3.2 日历描述:
(1)public void updateView()改变日期后完成更新界面;
(2)抽象类java.util.Calendar获取系统日期并传递日期数据而且在人工改变日期后得出当天是周几;
(3)public static void main(String[] args)
主函数完成系统各算法的调用并对主窗口的一些属性进行设置;
2.3.3 滚动时间:
将时间以文本的形式在文本框中滚动播出,并能改变滚动的速度。
4. 使用类及接口
仅仅简单说明类的功能,详细资料请参看《JavaTM 2 Platform Standard Ed. 6》的电子文档,常规的接口与包则省略不屑。
//以下是日历程序块中使用的类
package fancy;
import java.awt.*;
import java.awt.event.*;
import java.util.*; //主要用此包中的日期和时间类
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
//以下是对滚动时间程序块所使用的类和接口,
用到定时器类Timer
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.FocusListener;、
//用于监听鼠标单击(焦点改变)事件
import java.awt.event.FocusEvent;
//用于响应鼠标单击(焦点改变)事件、
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JSpinner;
//让用户从一个有序序列中选择一个数字或者一个对象值的单行输入字段。
import javax.swing.JPanel;
import javax.swing.Timer;
//在指定时间间隔触发一个或多个 ActionEvent, 创建一个 Timer 对象,在该对象上注册一个或多个动作侦听器,以及使用 start 方法启动该计时器。并配合事件监听器支持时间的滚动播放。
import javax.swing.event.ChangeListener;