Java课程设计-万年历.doc
- 文档编号:118319
- 上传时间:2022-10-03
- 格式:DOC
- 页数:15
- 大小:135KB
Java课程设计-万年历.doc
《Java课程设计-万年历.doc》由会员分享,可在线阅读,更多相关《Java课程设计-万年历.doc(15页珍藏版)》请在冰豆网上搜索。
河北科技大学
课程设计报告
学生姓名:
学号:
专业班级:
课程名称:
Java程序设计课程设计
学年学期:
2014—2015学年第2学期
指导教师:
刘伟
20年月
课程设计成绩评定表
学生姓名
学号
成绩
专业班级
起止时间
设计题目
指
导
教
师
评
语
学习态度:
端正□较端正□一般□较差□
学习纪律:
好□较好□一般□较差□
出勤情况:
好□较好□一般□较差□
程序设计:
好□较好□一般□较差□
动手能力:
强□较强□一般□较差□
团队精神:
好□较好□一般□较差□
创新意识:
强□较强□一般□较差□
课程设计完成情况:
优秀□好□一般□较差□
课程设计报告完成情况:
优秀□好□一般□较差□
指导教师:
年月日
目 录
1.课程设计目的 ..................................................................................................1
2.需求分析...........................................................................................................1
3.总体设计...........................................................................................................1
4.详细设计...........................................................................................................1
5.软件测试...........................................................................................................10
6.课程设计总结...................................................................................................11
一、课程设计目的
(1)熟练使用java语言编写程序,解决实际问题。
(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
(3)学会自己调试程序的方法并掌握一定的技巧。
二、需求分析
本程序的要求为:
1.使用图形用户界面;
2.本程序能够实现日期与星期的查询。
三、总体设计
(1)可以通过图形界面显示日历。
(2)能以月历形式显示日期与星期。
(3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。
四、详细设计
1.总天数的算法:
首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。
2.输出月份第一天为星期几的算法:
使总天数除以7取余得几既为星期几,若是0,则为星期日。
3.算出输出月份第一天为星期几的算法:
算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。
4.查询年份必须为四位有效数字,否则不予显示。
程序源代码:
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.sql.Date;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.awt.*;
importjava.awt.event.*;
importjava.text.*;
importjava.time.Clock;
importjava.util.*;
importjavax.swing.*;
importjavax.swing.table.*;
importjavax.swing.*;
importjavax.swing.table.DefaultTableModel;
publicclasswannianliextendsJFrameimplementsActionListener{
privateCalendarcal=Calendar.getInstance();
privateString[]str={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
privateDefaultTableModeldtm=newDefaultTableModel(null,str);
privateJTabletable=newJTable(dtm);//装日期的表格
privateJScrollPanesp=newJScrollPane(table);
privateJButtonbLastYear=newJButton("上一年");
privateJButtonbNextYear=newJButton("下一年");
privateJButtonbLastMonth=newJButton("上月");
privateJButtonbNextMonth=newJButton("下月");
privateJTextFieldYear=newJTextField(4);//jtfYear年份显示和输入文本
privateJLabeljla=newJLabel("年");
privateJTextFieldmonth=newJTextField(4);
privateJLabeljla1=newJLabel("月");
privateJTextFieldjtfMonth=newJTextField
(2);//jtfMonth月份显示文本框
privateJComboBoxcomb;
privateJPanelp1=newJPanel();//装入控制日期按钮的模块
privateJPanelp2=newJPanel();
privateJPanelp3=newJPanel(newGridLayout(2,1));
privateJPanelp4=newJPanel();
privateJPanelp5=newJPanel();
privateJLabell=newJLabel("文本框中可直接键入要查找的年份,以提高查询效率");
privateJLabellt=newJLabel();
privateJLabelcom=newJLabel("请选择月份:
");
privateintlastTime;
private
wannianli(){
super("万年历");//框架命名
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭函数
table.setGridColor(Color.GRAY);//星期之间的网格线是灰色的
table.setColumnSelectionAllowed(true);
table.setSelectionBackground(Color.BLACK);//当选定某一天时这一天背景黑色
table.setSelectionForeground(Color.GREEN);//选定的日期字体是绿色的
table.setBackground(newColor(184,207,229));//日期显示表格颜色浅蓝色
table.setFont(newFont("黑体",Font.BOLD,24));//日期数字字体格式
table.setRowHeight(30);//表格的高度
Year.addActionListener(this);//可输入年份的文本框
//month.addActionListener(this);//可输入年份的文本框//为各个按钮添加监听函数
bLastYear.addActionListener(this);
bNextYear.addActionListener(this);
bLastMonth.addActionListener(this);
bNextMonth.addActionListener(this);//将按钮添加到
String[]str={"1","2","3","4","5","6","7","8","9","10","11","12"};
comb=newJComboBox(str);
p1.add(bLastYear);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 万年历