- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目 录
一、摘要························1
二、程序分析······················1
2.1需求分析····················1
2.2功能设计····················1
2.3概要设计····················2-3
2.3.1程序设计思路················2
2.3.2具体功能设计················2
2.3.3程序流程图·················3
三、详细设计·····················4-12
3.1初始化组件····················4
3.2初始化程序数据,绘制程序面板··········4-7
3.3显示日期的方法·················8-11
3.4点击按钮产生的效果···············11-12
四、运行结果······················13
五、心得体会······················14
六、参考文献······················15
一、摘 要:
万年历是一个强大的日历系统,通过它可以实现对过去,现在以及将来日期的查询,通过在年份对话框中输入要查询的年份,再相应的在月份对应的下拉菜单选择要查询的月份,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用,理解JAVA的时间处理机制,编写独立运行的窗口。
程序分析
2.1需求分析
本程序的要求为:
1.使用图形用户界面;
2.本程序能够实现日期与星期的查询。
2.2功能设计
本程序要构建的万年历程序,其功能有以下几个方面:
1.实现图形界面。
2.能以月历形式显示日期与星期。工作日、双休日、当天分别以黑色、红色和蓝色显示。
3.支持用户通过下拉形式菜单来选择月份。
4.通过点击“现在日期”来刷新日历。
2.3概要设计
2.3.1程序设计思路
1.月份总天数的算法:直接根据month_int,即月份序号判断该月的天数。当month_int等于2时,调用isLeapYear()方法判断是否为闰年。
2.网格内容算法:用dt.getDate()方法算出输出月份第一天为星期几,第一天的格子序号应该为7+第一天的星期序号。算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并从该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。
3.日期颜色的算法:格子数从0开始,第一行为星期序号,则日期从第7格开始。根据格子序号i进行判断,当i模7余数为0或者6时日期为周末,置为红色;当i等于第一天的格子序号加上当前日期减一时,置为蓝色;其余日期为黑色。
如果年份小于2001年大于2031年则程序不予判断。
2.3.2具体功能设计
数据选择列表:年份选择列表、月份选择列表。
点击日期跳转按钮,即在日历中显示用户选择日期数据;
点击现在日期按钮,即在日历中显示当前日期数据。
2.3.3程序流程图
程序流程图
三、详细设计
3.1初始化组件
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
3.2初始化程序数据,绘制程序面板
在初始化模块中,首先定义一个公共类 CalenderTrain,它继承自JFrame。ActionListener是一个接口,在实现此接口的类CalenderTrain中,给需要关注其动作的组件跳转按钮button_jump和现在日期按钮button_today添加监听器(addActionListener(this),之后在事件处理方法public void actionPerformed (ActionEvent e) 中,对每个事件进行不同处理。在这个类中,定义用到的标签、下拉列表框、按钮,放置面板。
public class CalenderTrain extends JFrame implements ActionListener {
JComboBox Month = new JComboBox();
JComboBox Year = new JComboBox();
JLabel Year_l = new JLabel(年份:);
JLabel Month_l = new JLabel(月份:);
Date now_date = new Date();
JButton[] button_day = ne
您可能关注的文档
- 湖南省常德市2014届高三上学期期末市协作考试化学试题Word版含解析资料.doc
- 基于人力资本理论的我国教育投资问题分析资料.doc
- 湖南省洞口一中2015-2016学年高二化学下学期期末测试试卷资料.doc
- 基于实际工况的空气滤清器旋风分离效率试验研究-提交版20150203-副本-副本资料.doc
- 基于双目视觉的移动物体测距系统研究资料.doc
- 湖南省衡阳市2014届高三英语第二次联考试卷资料.doc
- 基于文化视角的英汉姓名分析资料.doc
- 湖南省衡阳市2015届高中毕业班第二次联考文科数学(有答案及解析)资料.doc
- 湖南省衡阳市五校高三第二次联考理科数学试卷资料.doc
- 基于稀疏表示的遮挡目标快速重构算法研究资料.doc
- 日语键盘使用规范资料.doc
- 江苏省东台市第一教研片2014届九年级政治12月月考试题(word版含答案)资料.doc
- 荣耀国际金融中心泛光照明工程资料.doc
- 江苏省阜宁中学2015-2016学年高二上学期期末考试语文试卷资料.doc
- 溶解度曲线填空题以及溶质质量分数练习题资料.doc
- 熔化和凝固期中复习题MicrosoftWord文档资料.doc
- 江苏省海安县七校2015-2016学年八年级上学期期中联考物理试卷资料.doc
- 融合教育考试(最新最全的)资料.doc
- 江苏省淮安、宿迁、连云港、徐州苏北四市2016届高三上学期期末考试物理试题资料.doc
- 江苏省建设专业管理人员岗位培训教材质量检查员考试大纲、习题集资料.doc
文档评论(0)