日历小程序资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

您可能关注的文档

文档评论(0)

基本资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档