java万年历课程设计报告

上传人:人*** 文档编号:490562622 上传时间:2022-08-16 格式:DOC 页数:10 大小:104.50KB
返回 下载 相关 举报
java万年历课程设计报告_第1页
第1页 / 共10页
java万年历课程设计报告_第2页
第2页 / 共10页
java万年历课程设计报告_第3页
第3页 / 共10页
java万年历课程设计报告_第4页
第4页 / 共10页
java万年历课程设计报告_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《java万年历课程设计报告》由会员分享,可在线阅读,更多相关《java万年历课程设计报告(10页珍藏版)》请在金锄头文库上搜索。

1、. . XX科技大学程序设计综合实训课程设计报告题目: 万 年 历 _XX: 2103年12月目录1绪论11.1选题目的及意义11.2 系统概述 11.3 人员组成及分工12 需求分析13 总体设计14 详细设计15 系统实现25.1 开发环境35.2 关键技术36.运行结果67.软件测试78.总结79参考文献81.绪论1.1选题目的及意义选题目的:本次课程设计为课本后设计题目任选一题进行设计。思考一段时间后,我们组决定做一个万年历的设计。主要考虑到以前时间少课程内容多,JAVA课程基础内容掌握并不是很抓实,而对于设计一个万年历程序,由于其功能简单设计也相对较易,对于我们组每个人的学习情况比较

2、合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA的一些基础知识掌握的更加牢固。1.2 系统概述随着电子技术的不断发展,人们的不断创新,万年历已经不再局限于书本形式,而是以电脑软件或者电子产品的形式出现。让其更加便捷。在学习了JAVA课程后,将以JAVA形式编译出一个简易的万年历。1.3 人员组成及分工付磊:负责搜集查找资料王杜超:调试程序两人共同负责程序的编写与修改2.需求分析本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询。3.可以添加或者删除日志3.总体设计1可以通过图形界面显示日历。2能以月历形式显示日期与星期。 3支持用户自己输入年份,可以通过上一年

3、,下一年等按钮来选择年份和月份。4可以添加或者删除并且点击对应日期显示日志。4.详细设计1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。2. 输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0,则为星期日。3. 算出输出月份第一天为星期几的

4、算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。4. 查询年份必须为四位有效数字,否则不予显示。5.显示系统时间。程序初始化获取当前系统时间年份等数据提交年月变更数据 是否输入年份或选择月份开始计算,绘制屏幕结束 6.流程图 流程图5.系统实现5.1 开发环境myeclipse-8.5.0-win325.2 关键技术1界面的绘制与显示publicclasswannianliextends JFrame implements ActionListener, Mous

5、eListenerprivate Calendar cld = Calendar.getInstance;private String astr = 星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日;private DefaultTableModel dtm = new DefaultTableModel;private JTable table = new JTable; /装日期的表格private JScrollPane sp = new JScrollPane;private utton bLastYear = new utton;private utton bNex

6、tYear = new utton;private utton bLastMonth = new utton;private utton bNextMonth = new utton;private JTextField jtfYear = new JTextField;/jtfYear年份显示和输入文本框private JTextField jtfMonth = new JTextField;/jtfMonth月份显示文本框private JPanel p1 = new JPanel; /装入控制日期按钮的模块private JPanel p2 = new JPanel;private JP

7、anel p3 = new JPanelnew BorderLayout;private JPanel p4 = new JPanelnew GridLayout;private JPanel p5 = new JPanelnew BorderLayout;private utton bAdd = new utton;private utton bDel = new utton;背景颜色,字体的显示table.setGridColor; /星期之间的网格线是灰色的table.setColumnSelectionAllowed;table.setSelectionBackground;/当选定某

8、一天时这一天背景黑色table.setSelectionForeground;/选定的日期字体是绿色的table.setBackgroundnew Color;/日期显示表格颜色浅蓝色table.setFontnew Font;/日期数字字体格式table.setRowHeight;/表格的高度table.addMouseListener; /鼠标监听器2根据月份判断每个月的天数以及判断是否为闰年判断2月的天数publicint getDaysOfMonth /显示所选月份的天数 if return 31; if return 30; if/闰年 return 29; else return

9、28; 3日志的添加与删除ife.getSource = bDel intr = table.getSelectedRow;intc = table.getSelectedColumn; File filedel = new Fileld.getText + .txt;iffiledel.exists iffiledel.delete jta.setText; else jta.setText; else jta.setText; 4判断年份输入是否正确publicvoid actionPerformed ife.getSource = jtfYear | e.getSource = bLas

10、tYear | e.getSource = bNextYear | e.getSource = bLastMonth | e.getSource = bNextMonth int m, y;try/控制输入的年份正确,异常控制 if jtfYear.getText.length != 4 thrownew NumberFormatException; y = Integer.parseIntjtfYear.getText; m = Integer.parseIntjtfMonth.getText; catch JOptionPane.showMessageDialog;return; 5显示系统时间lass Timer extends Thread/显示系统时间private JLabel lt;private SimpleDateFormat fy = new SimpleDateFormat;private SimpleDateFormat fn = new SimpleDateFormat;privatebooleanb = true;public Timer this.lt = lt; publicvoid run while try if lt.setTextfy.formatnew Date;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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