一个简单的JAVA日历程序 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-21
ear_sel, month_int, 1); //构造一个日期
GregorianCalendar cal = new GregorianCalendar(); //创建一个Calendar实例
cal.setTime(dt);
String week[] = { "Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat" };
int day = 0; //day中存放某个月份的天数
int day_week = 0; //用来存放某个月的第一天是星期几的数值
//--将星期添加到前7个按钮中
for (int i = 0; i < 7; i++) {
button_day[i].setText(week[i]);
}
//--
/*判断是几月份,根据它来设定day的值
* 其中二月份要判断是否是闰年
*/
if (month_int == 0
|| month_int == 2
|| month_int == 4
|| month_int == 6
|| month_int == 7
|| month_int == 9
|| month_int == 11) {
day = 31;
} else if (
month_int == 3
|| month_int == 5
|| month_int == 8
|| month_int == 10) {
day = 30;
} else {
if (cal.isLeapYear(year_sel)) {
day = 29;
} else {
day = 28;
}
}
day_week = 7 + dt.getDay();
int count = 1;
/*绘制按钮
* 在这里我们首先要根据选定的月份的第一天是星期几来确定我们绘制按钮的起始位置
* 其中day_week就是我们要绘制的起始位置
* 对于那些没有数值可以显示的按钮要置空
*/
for (int i = day_week; i < day_week + day; count++, i++) {
if (i % 7 == 0
|| i == 13
|| i == 20
|| i == 27
|| i == 48
|| i == 34
|| i == 41) {
if (i == day_week + now_date.getDate() - 1) {
button_day[i].setForeground(Color.blue);
button_day[i].setText(count + "");
} else {
button_day[i].setForeground(Color.red);
button_day[i].setText(count + "");
}
} else {
if (i == day_week + now_date.getDate() - 1) {
button_day[i].setForeground(Color.blue);
button_day[i].setText(count + "");
} else {
button_day[i].setForeground(Color.black);
button_day[i].setText(count + "");
}
}
}
//--对于没有日期数值显示的按钮进行置空处理
if (day_week == 0) {
for (int i = day; i < 49; i++) {
button_day[i].setText(" ");
}
} else {
//第一天前面的按钮置空
for (int i = 7; i < day_week; i++) {
button_day[i].setText(" ");
} //最后一天后面的按钮置空
for (int i = day_week + day; i < 49; i++) {
button_day[i].setText(" ");
}
}
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button_ok) {
bool = false;
this.setDay(); //如果点击确定按钮就调用setDay()重新方法绘制按钮
} else if (e.getSource() == button_today) {
bool = true;
Year.setSelectedIndex(10);
Month.setSelectedIndex(now_month);
this.setDay(); //如果点击今天按钮,得到今天的日期
}
}
public static void main(String[] args) {
CalenderTrain ct = new CalenderTrain();
}
} |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于一个简单的JAVA日历程序 - 编程入门网的所有评论