java课程设计_简单日历程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计题目
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;
import javax.swing.event.ChangeEvent;
5. 运行结果与分析
图2:初始界面显示日历。
图3:点击查看时间按钮,
弹出时间消息对话框。
图4:滚动显示当前时间。
6. 程序源代码
/**
* @(#) MyCalendar.java
* @author fancy
*/
//日历使用的类
import java.awt.BorderLayout;
import java.awt.Color;
import ponent;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.Calendar;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.Timer;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;
//日历
public class MyCalendar extends JApplet
{
public static final String WEEK_SUN = "SUN";
public static final String WEEK_MON = "MON";
public static final String WEEK_TUE = "TUE";
public static final String WEEK_WED = "WED";
public static final String WEEK_THU = "THU";
public static final String WEEK_FRI = "FRI";
public static final String WEEK_SAT = "SAT";
public static final Color background = Color.yellow;
public static final Color foreground = Color.black;
public static final Color headerBackground = Color.blue; public static final Color headerForeground = Color.white; public static final Color selectedBackground = Color.blue;