资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.Java课程设计设计题目:万年历系 别: 计算机科学与工程学院 专 业: 信息管理与信息系统 学 号: 1100340116 姓 名: 岑少兵 指导教师: 汪华澄 时 间: 2013-6-29 精品.目 录摘要3系统功能结构图31 系统模块设计41.1 需求设计41.2 开发和运行环境41.3 功能设计42 万年历详细设计思路4 2.1 程序设计思路5 2.2 程序运行主界面52.3 流程图63 各模块功能实现及代码说明6 3.1 MainFramel类6 3.2 Lunar类14 3.3 national类22 3.4 SetClock类26 4 小结 345 参考文献 34精品.基于Myeclipse的万年历摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。系统功能结构图:主要描述系统要实现的各个模块的功能。精品.万年历世界时间闹钟查询星期农历北京时间纽约时间设置闹钟时间到,闹铃响查询年月日对应的星期关闭将农历与公历一起实现东京时间1系统模块设计11需求分析本程序的要求为:1.使用图形用户界面2.能够实现日期与星期的查询 3.能够显示农历 4.能够查看世界时间5.能够添加闹钟 12 开发和运行环境开发工具:Myeclipse运行环境: windows 7 13功能设计精品.本程序要构建的万年历程序,其功能有以下几个方面: (1) 通过MainFrame类,实现图形界面和公历日期。(2) 提供年份、月份的下拉形式菜单来选择年份和月份。(3) 通过Lunar类实现农历日期。(4) 通过national类实现世界时间。(5) 能以月历形式显示日期与星期。 (6) 通过SetClock类来实现闹钟功能。(7) 通过点击世界时间按钮查询世界时间(8) 通过点击闹钟按钮设置闹钟(9) 显示系统当前时间和日期。(10) 显示作者信息。 2 万年历详细设计思路2.1程序设计思路1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。4. 如果年份小于1900年则程序不予判断。2.2程序运行主界面精品.2.3流程图精品.3 各模块功能实现及代码说明3.1 MainFrame类import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;精品.import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.Timer;import aa.Lunar;public class MainFrame extends JFrame implements ItemListener/建立主界面 JPanel panel=new JPanel(new BorderLayout();/建立中层容器并布局 JPanel panel1=new JPanel(); JPanel panel2=new JPanel(new GridLayout(8,7); JPanel panel3=new JPanel(new GridLayout(4,1); JLabel label=new JLabel49;/标签 JLabel y_label=new JLabel(年); JLabel m_label=new JLabel(月); JLabel dashao =new JLabel(时间总是在不经意间溜走,我们还得向前走,JLabel.CENTER); JLabel bing =new JLabel(希望在回首时候,不带任何遗憾!,JLabel.CENTER); JLabel feng =new JLabel(桂电大烧饼制作!,JLabel.CENTER); JLabel labelTime=new JLabel(,JLabel.CENTER); JComboBox com1=new JComboBox();/下拉窗口 JComboBox com2=new JComboBox(); JButton but1=new JButton(闹钟); /按钮 JButton but2=new JButton(世界时间); Calendar now=Calendar.getInstance(); public MainFrame()/设置主界面,并添加各组件 精品. super(大烧饼万年历); setSize(500,600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel1.add(but1); panel1.add(y_label); panel1.add(com1); panel1.add(m_label); panel1.add(com2); panel1.add(but2); panel3.add(dashao); panel3.add(bing); panel3.add(feng); panel3.add(labelTime); for(int i=0;i49;i+)/日期标签 labeli=new JLabel(,JLabel.CENTER); panel2.add(labeli); panel.add(panel1,BorderLayout.NORTH);/中层容器布局 panel.add(panel2,BorderLayout.CENTER); panel.add(panel3,BorderLayout.SOUTH); setContentPane(panel); setVisible(true); init(); com1.addItemListener(this);/对下拉组件监听 com2.addItemListener(this); but1.addActionListener(new ActionListener() /按钮动作监听精品.public void actionPerformed(ActionEvent e) new aa.SetClock(); /闹钟类 ); but2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) new aa.national();/世界时间类 ); Timer timer = new Timer(1000, new ActionListener()/获得系统时间,并将其显示在主界面下方 public void actionPerformed(ActionEvent evt) String s1= new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date(); labelTime.setText(现在时间是:+s1); ); timer.start();/线程启动 public void init()/设置日期标签函数
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号