万年历课程设计实验报告
<二>获得当月第一天是星期几?
1,生成一个格里高利日期对象
Calendar c =newGregorianCalendar() ;
2,把要求年的年,月,第一天放进去
c.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),1);
3,获得当前月第一天是当前周的第几天?
intbegin = c.get(Calendar.DAY_OF_WEEK);
(2)日期类面板的设计
<一>提供一个日期类的接口,为以后程序修改更新做基础。
publicinterfaceUIinterface {
publicvoidinitView() ;
publicvoidshowView() ;
publicvoidsetCalendar(intmaxDay,intcurrentDay,intbegin);
intresetYear=Integer.parseInt(boxYear.getSelectedItem().toString())-1;
if(resetYear<1){
resetYear=9999;//年小于1单击按钮实现跳转。
}
boxYear.setSelectedIndex(resetYear-1) ;
黄淮学院
JAVA课程设计报告
题目:《万年历》课程设计
学院:信息工程学院
专业:计算机科学与技术
班级:计科1101班
指导老师:
二0一三年六月
前言2
1需求分析2
1.1需求分析2
1.2功能设计3
2.概要设计3
2.1程序设计思路3
3.流程图5
4.程序的主要类,和说明:6
C17
F18
G18
I19
M19
S19
U20
1
1.1
本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询。
2
本程序要构建的万年历程序,其功能有以下几个方面:
(1)实现图形界面,通过简单的单击按钮能实现查询日期操作。
(2)能以月历形式显示日期与星期。
(3)提供月份的下拉形式菜单来选择月份。
2.
2.1
(1)日期类的设计:
设定日期年的方法
cal.set(Calendar.MONTH,Integer.parseInt(month)-1) ;
updateCalendar();//每次修改月后,更新日期
}
日期类的更新日期方法
<一>获得当月最大的天是多少天。
intmaxDay=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
//给周日改变颜色
for(inti=0;i<labelDays.length;i+=7){
labelDays[i].setForeground(Color.red) ;
}
//给周六改变颜色
for(inti=6;i<labelDays.length;i+=7){
labelDays[i].setForeground(Color.green) ;
类分层结构20
接口分层结构21
前言
Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。
for(inti=0;i<7;i++){
labelDays[i].setText(logs[i]) ;
}
//初始化label的颜色
for(inti=7;i<labelDays.length;i++){
labelDays[i].setForeground(Color.black) ;
labelDays[i].setText("");
publicvoidchangeYear(String year){
cal.set(Calendar.YEAR,Integer.parseInt(year)) ;
updateCalendar();//每次修改年后,更新日期
}
设定日期月的方法
publicvoidchangeMonth(String month){
}
<二>设计日期类面板,继承JFrame并实现UIinterface接口。
添加按钮/下拉列表/标签等常用组件。实现窗口布局如下:
程序运行界面
(1)为按钮组件添加监听,以年为例说明。
buttonPreYear.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvent e){
}
//把日期添加到对应的label中
for(inti=1;i<maxDay;i++){
String str = i<=9?"0"+i:i+"";
action.changeYear(resetYear+"") ;
//调用changeYear方法更改年份,以实现更新年的目的
}
}) ;
(2)刷新标签页,使之显示当前日期下的年份日期:
publicvoidsetCalendar(intmaxDay,intcurrentDay,intbegin){
String [] logs =newString[]{"日","一","二","三","四","五","六"};