1、 0 java 语言课程设计 学 院: 指导教师: 学 号: 姓 名: 班 级: 1 目录 一、课程题目2 二、需求分析2 三、概要设计2 四、详细设计2 五、测试数据及运行结果8 六、源程序9 2 一、课程题目:日历 二、需求分析 程序要求:1、使用“鼠标单击响应”模式的用户界面显示日历; 2、查询任意日期,实现日期与星期的互查,单击所选日期变色; 3、初始界面显示当前系统时间; 本程序体现了对图形用户界面、 布局管理器的综合运用, 可实现查询日期和显示时间的 功能,满足日常基本工作和娱乐的需要。 三、概要设计 四、详细设计 1、导入 java 中包 import java.awt.Bord
2、erLayout; import java.awt.Color; import java.awt.Component; 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.s
3、wing.JApplet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; Public class MyCalendar extends JApplet (主日历类) Public static CalendarTable (日历类) public static void main(String ags) (主类) 3 import javax.swing.JOptionPane; import javax.swing
4、.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.sw
5、ing.table.TableCellRenderer; import javax.swing.table.TableModel; 2、初始化:public void init()完成界面初始化,形成一个亿挂历形式显示当前日期的窗 口。 21、给容器 cPanel 设置格局:cPane.setLayout(new BorderLayout(); 2.2、日历年份选择复选框设置: yearsLabel = newnew JLabel(“Year: “); yearsSpinner = newnew JSpinner(); yearsSpinner.setEditor(newnew JSpinne
6、r.NumberEditor(yearsSpinner, “0000“); yearsSpinner.setValue(newnew Integer(calendar.get(Calendar.YEAR); 注册监听器: yearsSpinner.addChangeListener(newnew ChangeListener() publicpublic voidvoid stateChanged(ChangeEvent changeEvent) intint day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.YEAR, (Integer) yearsSpinner.getValue().intValue(); intint maxDa