java万年历(学年论文)

上传人:平*** 文档编号:14755103 上传时间:2017-11-02 格式:DOC 页数:32 大小:226.22KB
返回 下载 相关 举报
java万年历(学年论文)_第1页
第1页 / 共32页
java万年历(学年论文)_第2页
第2页 / 共32页
java万年历(学年论文)_第3页
第3页 / 共32页
java万年历(学年论文)_第4页
第4页 / 共32页
java万年历(学年论文)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《java万年历(学年论文)》由会员分享,可在线阅读,更多相关《java万年历(学年论文)(32页珍藏版)》请在金锄头文库上搜索。

1、 学 年 论 文题 目: 基于 Java 开发的万年历程序设计 学 院: 数学与统计学院 专 业: 信息与计算科学 班 级: 11 级(1)班 学生姓名: 郝玉霞 学 号: 201171020107 指导教师: 吴红萍 - 1 -基于 Java 开发的万年历程序设计郝玉霞(西北师范大学数学与统计学院 兰州 730070)摘要: 本文是在 Java 的基础上,使用了Mycalendar、JFrame、Clock、TimeThread、Timer 等类和showCalendar、getDaysOfMonth、mouseClicked、run、today 等方法,运用了 if-else、try-ca

2、tch 等基本的 Java 语句,使用图形用户界面为用户开发了一个便捷的万年历。关键字: Java 语言;万年历;图形界面 Calendar program design based on Java development HAOYuxia(College of Mathematics and Statistics, Northwest Normal University, Lanzhou 730070)Abstract: This article is based on Java, use the Mycalendar, JFrame, Clock, TimeThread, Timer, e

3、tc and theshowCalendar、getDaysOfMonth、run、today mouseClicked methods, and using the if - else, try-catch basic Java statements, such as using a graphical user interface for users to develop a convenient Calendar. Key Words :Java language; Calendar; The graphical interface 引言在当代繁忙的工作与生活中,时间与我们每一个人都有非

4、常亲密的关系,每个人都受到时间的影响,为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。随着社会、科技的发展,人类得知时间,从观看太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时能够了解其他与人类密切相关的信息,比如阴阳历、星期、日期等,而后万年历被人们所发明,在此我在原来万年历的基础上做个改进,为大家设计了能够为大家提供更多服务的万年历,它集时间、日期、星期和时区于一身,而且还具有闹钟和备忘录功能,方便你设置查看日程,防止你在每天忙忙碌碌的工作中忘记一些关键事情或重大事件,并且具有读取方便、显示直观、功能多样 使用寿命长,误差小诸多优点,符合众多人们的需求,

5、具有广阔的使用前景。- 2 -1 简要概述1.1 用户需求(1)能够提供时区选择。(2)能够实现日期与星期的查询。(3)可显示 1-9999 年的日历信息(4)显示准确、完整,界面美观。1.2 设计目的(1)为用户开发一个便捷的万年历;(2)对 java 技术的灵活应用;(3)掌握日期处理技术;(4)初步了解软件工程理论知识。1.3 主要特点(1)清楚直观,便于查询(2)功能齐全2 功能分析2.1 功能设计本程序要构建的万年历程序,其功能有以下几个方面:(1) 能够查找 1 至 9999 年的日期与星期的关系。(2)能以阳历和阴历形式显示日期与星期。(3)支持用户自己输入年份及月份。(4)本程

6、序能够实现闹钟提示。(5)本程序具有备忘录功能。(6)本程序能够提供时区选择,以便查看不同时区的时间。2 .2 系统功能结构图(1)Clock 类:运用线程,包含了 run 方法,实现时钟的功能。(2)Mycalendar 类:作为主类实现了 ActionListener, MouseListener 接口,继承了 JFrame 类,包含了showCalendar,actionPerformed, - 3 -showTextArea,updateTimeText 和 main 等方法。showCalendar 方法:定义各个参数,应用 AWT 的绘图功能,构建总体框架;获取所要查找的年份和月份

7、,通过调用 getDaysOfMonth 方法,实现日历模块功能,并得到所需结果;actionPerformed 方法:控制年月份的正确输入;showTextArea 方法:其主要功能是将功力化为农历;updateTimeText 方法:设置时区查询,以便用户查询不同时区的时间;图 1 系统功能结构3 总体设计3.1 程序设计思路本程序主要分为以下几个模块:(1)闹钟模块:此模块的主要功能为:在用户设置的闹钟提示时间 5 分钟内,进行闹钟提示。(2)备忘录模块:此模块的主要为用户提供记录重要事件功能,减少用户所面临的不必要的烦恼。(3)日期模块 updateTimeText 方法万年历Cloc

8、k 类Mycalendar 类showCalendar 方法main 方法showTextArea 方法- 4 -总天数的算法:首先用 if 语句判断定义年到输入年之间每一年是否为闰年,若是闰年,该年的总天数为 366,否则为 365,然后判断输入的年是否为定义年,若是,令总天数 S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加 1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。输出月份第一天为星期几的算法:使总天数除以 7 取余加 2 得几既为星期几,若是 7,则为星

9、期日。算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该 日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该 月一日为星期几的数字再除以 7 得 0 换行,即可完整的输出该月的日历。如果年份大于 9999 年则程序不予判断。(4)农历和气节显示模块:其主要功能是方便用户查询当天的农历、星期、节气、生肖等。(5)温馨提示模块:此模块主要内容为惜时励志名言,主要功能是激励广大用户珍惜时间,把握好生命中的每一天。(6)时区选择模块:此模块的主要功能是方便用户查看不同时区的时间。3.2 程序运行界面运行界面如下:- 5 -图 2 运行界面3.3 流程图:图

10、3 流程图4 各模块的功能及程序说明4.1 初始化组件private Calendar cld = Calendar.getInstance();private String week = 星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六 ;private DefaultTableModel dtm = new DefaultTableModel(null, week);private JTable table = new JTable(dtm);private JScrollPane sp = new JScrollPane(table);private JButton b

11、LastYear = new JButton(上一年);private JButton bNextYear = new JButton(下一年 );private JButton bLastMonth = new JButton(上月);private JButton bNextMonth = new JButton(下月);- 6 -private JButton bAddClock = new JButton(确定);private JPanel p1 = new JPanel(); / 装入控制日期的按钮模块private JPanel p2 = new JPanel(new GridL

12、ayout(3,2);private JPanel p3 = new JPanel(new BorderLayout();private JPanel p4 = new JPanel(new GridLayout(2,1);private JPanel p5 = new JPanel(new BorderLayout();private JPanel p6 = new JPanel(new GridLayout(2,2);private JPanel p7 = new JPanel(new GridLayout(2,1);private JPanel p8 = new JPanel(new B

13、orderLayout();private JPanel p9 = new JPanel(new BorderLayout();private JPanel p10 = new JPanel(new GridLayout(6,1);private JPanel p11 = new JPanel(new BorderLayout();private JTextField jtfYear = new JTextField(5);private JTextField jtfMonth = new JTextField(2);private JTextField timeField=new JText

14、Field();private JTextField h1=new JTextField(5);private JTextField m1=new JTextField(5);private static JTextArea jta = new JTextArea(4,5);private JScrollPane jsp = new JScrollPane(jta);private JTextArea jta1 = new JTextArea(1,4);private JTextArea bwl = new JTextArea(5,4);private JScrollPane jsp1 = n

15、ew JScrollPane(jta1);private JLabel l = new JLabel(你可以向年份和月份输入框中输入正确的年份和月份,提高查询效率);private JLabel lt = new JLabel();private JLabel ld = new JLabel();private JLabel ts=new JLabel( 请在右边下拉菜单选择你要选择的城市 );private JLabel clock= new JLabel(闹钟,JLabel.CENTER);private JLabel notice= new JLabel(闹钟提示,JLabel.CENTER);private JLabel beiwl= new JLabel(备忘录,JLabel.CENTER);private JLabel hour = new JLabel(小时,JLabel.CENTER);private JLabel minute= new JLabel(分钟,JLabel.CENTER);priv

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号