Java超级万年历课程设计.doc
文本预览下载声明
超级万年历
1.课程设计的目的
《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。编写一个万年历理解图像界面的基本组织窗口,以及类、方法的调用,以及添加控件、并在窗口中显示,可以对年份、月份、当前的时间进行查询方便用户的使用。
2.设计方案论证
2.1需求分析
本次课程设计是编写一个万年历程序,主要目的是加强对Java的实际运用,了解图形用户界面的基本组件窗口、按纽(JButton)、标签(JLabel)、下拉表组件(JComboBox)、文本框(TextBox)、选择框、查询事件的处理,菜单的设计还有日期的计算等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。
万年历是一个强大的日历系统,通过它可以实现对过去,现在以及将来日期的查找,通过在年份对应的下拉菜单中选择要查询的年份,再相应的在月份对应的下拉菜单选择要查询的月份,则可得到相应的日历。此外,还可以显示出数字时间,很方便用户的查询。
本实验是对图形用户界面,布局管理器的综合运用,理解JAVA的时间处理机制,编写独立运行的窗口。
2.2概要设计
本程序涉及三个类,MainFrame为显示日期部分的类,是程序中的主类,ClockAction
是对所要查询的年份及其月份进行选择的类,Clock是对当前时间进行显示的类,位与整个界面的底部,程序运行时,只要运行MainFrame即可显示出日期以及时间的详细信息。以下是对这三个类的具体说明。
2.2.1自定义类说明
(1) ClockAction类
作用:获取当前下拉列表中所选择的信息
实现的接口:ActionListener
ActionListener用于接收操作事件的侦听器接口。使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。ActionEvent指示发生了组件定义的动作的语义事件。当特定于组件的动作(比如被按下)发生时,由组件生成此高级别事件。事件被传递给每一个 ActionListener 对象,这些对象是使用组件的 addActionListener 方法注册的,用以接收这类事件。
ClockAction类的具体实现如下:
//对当前所选年份、月份的查询
class ClockAction implements ActionListener
{ public void actionPerformed(ActionEvent arg0)
{ int c_year, c_month, c_week;
// 得到当前所选年份
c_year = Integer.parseInt(com1.getSelectedItem().toString());
// 得到当前月份,并减1,计算机中的月为0-11
c_month = Integer.parseInt(com2.getSelectedItem().toString())-1;
// 调用函数use,得到星期几
c_week = use(c_year, c_month);
// 调用函数Resetday
Resetday(c_week, c_year, c_month); }
}
(2) MainFrame类
作用:主类
继承的父类:JFrame
实现的接口:没有
JFrame是MainFrame的父类,当用户试图关闭窗口时,JFrame 知道如何进行响应。用户关闭窗口时,默认的行为只是简单地隐藏 JFrame。在多屏幕环境中,可以在不同的屏幕设备上创建一个 JFrame。
主要方法说明:
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
new MainFrame();
}
(3) Clock类
作用:显示时间的类
继承的父类:Canvas
实现的接口:Runnable
Canvas是Clock的父类,它表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。Runnable接口由Clock类来实现,设计该接口的目的是为希望在活动时执行代码的对象提供一个公共协议。
主要方法说
显示全部