1、java课程设计简单日历word文档良心出品java课程设计报告题 目 : JAVA简易时间日历程序* * 学 号 :* 专业班级 : 信101 * * 课程设计题目 题目说明通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。系统设计1 设计目标一个完整的程序应具有以下功能:1)显示当月日历、当前日期、当前时间;2)可查寻任意月以及任意年的日历;3)使用图形化界面能够弹出对话框;5)正常退出程序。 2 设计思想设计一个类用来构成日历系统的主窗口,然后编写一个框架类显示时间和提示信息。在设计中应用了多种容器和控件。系统模块
2、划分public static class CalendarTable(日历类)public static void main(String args)public static class RollbyJFrame(滚动时间类)public class MyCalendar extends JApplet(主日历框架类)图1:简易日历的程序结构图初始化: public void init()完成界面初始化,形成一个以挂历形式显示当前日期的窗口。 日历描述: (1)public void updateView()改变日期后完成更新界面; (2)抽象类java.util.Calendar获取系统
3、日期并传递日期数据而且在人工改变日期后得出当天是周几; (3)public static void main(String args)主函数完成系统各算法的调用并对主窗口的一些属性进行设置; 滚动时间: 将时间以文本的形式在文本框中滚动播出,并能改变滚动的速度。4. 使用类及接口仅仅简单说明类的功能,详细资料请参看 JavaTM2Platform StandardEd. 6的电子文档,常规的接口与包则省略不屑。/以下是日历程序块中使用的类package fancy; import java.awt.*; import java.awt.event.*; import java.util.*;
4、/主要用此包中的日期和时间类import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*;/以下是对滚动时间程序块所使用的类和接口,用到定时器类Timerimport java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.event.FocusListener;、/用于监听鼠标单击(焦点改变)事件imp
5、ort 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 方法启动该计时器。并配合
6、事件监听器支持时间的滚动播放。import javax.swing.event.ChangeListener;import javax.swing.event.ChangeEvent;5. 运行结果与分析图2:初始界面显示日历。图3:点击查看时间按钮, 弹出时间消息对话框。图4:滚动显示当前时间。程序源代码MyCalendar.java import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.Container;import java.awt.FlowLayout;
7、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
8、;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
9、.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 St
10、ring 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 =
11、Color.blue; public static final Color headerForeground = Color.white; public static final Color selectedBackground = Color.blue; public static final Color selectedForeground = Color.white; private JPanel cPane; private JLabel yearsLabel; private JSpinner yearsSpinner; private JLabel monthsLabel; pri
12、vate JComboBox monthsComboBox; private JTable daysTable; private AbstractTableModel daysModel; private Calendar calendar; private JButton button1; public MyCalendar() cPane = (JPanel) getContentPane(); public void init() cPane.setLayout(new BorderLayout(); calendar = Calendar.getInstance(); calendar
13、 = Calendar.getInstance(); JButton button1=new JButton( 单击此处 查看时间 ); button1.setBounds(10,10,10,10); cPane.add(button1,BorderLayout.SOUTH); button1.addActionListener( new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) RollbyJFrame myrili=new RollbyJFrame(); JOptionPane.sh
14、owMessageDialog(null, 您点击了+e.getActionCommand().toString()+按钮); ); yearsLabel = new JLabel(Year: ); yearsSpinner = new JSpinner(); yearsSpinner.setEditor(new JSpinner.NumberEditor(yearsSpinner, 0000); yearsSpinner.setValue(new Integer(calendar.get(Calendar.YEAR); yearsSpinner.addChangeListener(new C
15、hangeListener() public void stateChanged(ChangeEvent changeEvent) int day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.YEAR, (Integer) yearsSpinner.getValue().intValue(); int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1