java日历代码大全 java编写一个日历

JAVA编写日历SWING和线程的技术 。。至于日期类,估计你应该知道吧,如果不知道赶紧查API吧 。你可以百度一下,想飞社区,在资源里 JAVA版日期控件 。说明文档+源码都有,你可以参考一下 。最终成型如下图
java改进万年历 。。你只需要判断这个月的1号是星期几啊 , 然后从一号开始输出就是了啊比如说你这个测试例子的1号是星期五,然后你输出的时候就打印4个空格
你回答的:“编写JAVA程序实现一个简单的日历”这个问题,能不能在代码中加入一些解释呀,谢了?。?/h2>*FileCalendarBean.java
*author:***
*Date:2007-12-823:37
*返回某年某月的日历的字符串数组
*/
importjava.util.Calendar;
publicclassCalendarBean...{
intyear=2007,month=0;
privateintmonthDays[]=...{31,28,31,30,31,30,31,31,30,31,30,31};
//设置年份
publicvoidsetYear(intyear)...{
this.year=year;
}
//获取年份
publicintgetYear()...{
returnyear;
}
//设置月份
publicvoidsetMonth(intmonth)...{
this.month=month0?month:1;
}
//获取月份
publicintgetMonth()...{
returnmonth;
}
//判断是否为闰年
privatestaticbooleanisLeap(intyear)...{
return((year%4==0)(year%100==0))||(year%400==0);
}
//获得当前年月的日历所组成字符串数组
publicString[][]getCalendar()...{
Stringdata[][]=newString[6][7];
Calendarcale=Calendar.getInstance();
cale.set(year,month-1,1);
//该月1号是星期几
intweekDay=cale.get(Calendar.DAY_OF_WEEK)-1;
//该月的天数
intday=monthDays[month-1];
if(month==2isLeap(year))day=29;
intnextDay=1;
//添加字符串数组
for(intk=0;k6;k++)...{
if(k==0)
for(intj=weekDay;j7;j++)...{
data[k][j]=""+nextDay;
nextDay++;
}
else
for(intj=0;j7nextDay=day;j++)...{
data[k][j]=""+nextDay;
nextDay++;
}
}
returndata;
}
}
/**//*FileCalenderFrame.java
*author:***
*Date:2007-12-823:37
*一个简单的日历
*/
importjavax.swing.*;
importjavax.swing.tree.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.event.*;
publicclassCalenderFrameextendsJFrameimplementsItemListener,TreeSelectionListener...{
JTabletable;
JTreetree=null;
DefaultMutableTreeNoderoot;
Objectname[]=...{"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
JComboBoxyearList;
CalendarBeancale;
Stringrili[][];
Stringitem[]=...{"2006","2007","2008","2009","2010"};
JSplitPanesplit;
intyear=2006;
intmonth=0;
JScrollPanescrollTree,scrollTable;
publicCalenderFrame()...{
cale=newCalendarBean();
//添加年份列表
yearList=newJComboBox();
for(intk=0;kitem.length;k++)
yearList.addItem(item[k]);
yearList.addItemListener(this);
//添加月份树
root=newDefaultMutableTreeNode(item[0]);
tree=newJTree(root);
add(newJScrollPane(tree),BorderLayout.WEST);
tree.addTreeSelectionListener(this);
//设置年月及该月日历
cale.setYear(year);
cale.setMonth(month);
rili=cale.getCalendar();
table=newJTable(rili,name);
//添加到窗口
scrollTree=newJScrollPane(tree);
scrollTable=newJScrollPane(table);
split=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollTree,scrollTable);
add(yearList,BorderLayout.NORTH);
add(split,BorderLayout.CENTER);
updateYear(year);
//设置窗口属性
setSize(580,350);
setVisible(true);
split.setDividerLocation(0.5);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//更新年份及月份树

推荐阅读