教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

java课程设计程序设计报告万年历(2)

来源:网络收集 时间:2026-09-11
导读: g.drawLine(i, TOP , i, TOP+ totalHeight); //绘制表格线 for (int i = 0, j = TOP ; i = numRows; i++, j += CELLHEIGHT) { g.drawLine(0, j, totalWidth, j); //绘制表格线 } xNum = (getFirstDayOfMonth(search

g.drawLine(i, TOP , i, TOP+ totalHeight); //绘制表格线

for (int i = 0, j = TOP ; i <= numRows; i++, j += CELLHEIGHT) {

g.drawLine(0, j, totalWidth, j); //绘制表格线

}

xNum = (getFirstDayOfMonth(searchYear, searchMonth) + 1) * CELLWIDTH -

java程序设计万年历

MARGIN;

yNum = TOP + MARGIN + fontAscent;

numDays = daysInMonth[searchMonth] + ((calendar.isLeapYear(searchYear) &&

(searchMonth == FEBRUARY)) ? 1 : 0);

for (int day = 1; day <= numDays; day++) {

dayStr = Integer.toString(day);

g.drawString(dayStr, xNum - fontMetric.stringWidth(dayStr), yNum);

//绘制

字符串

xNum += CELLWIDTH; if (xNum > totalWidth) {

}

}

xNum = CELLWIDTH - MARGIN; yNum += CELLHEIGHT;

}

public boolean action(Event e, Object o){

int searchYearInt; if (e.target==btUpdate){

searchMonth = monthChoice.getSelectedIndex(); //得到查询月份 searchYearInt = Integer.parseInt(tfYear.getText(), 10); //得到查询年份

java程序设计万年历

searchYear = searchYearInt;

}

repaint(); //重绘屏幕 return true;

} return false;

}

private int getNumberRows(int year, int month) { //得到行数量

int firstDay; int numCells;

if (year < 1582) { //年份小于1582年,则返回-1 }

return (-1);

if ((month < 0) || (month > 11)) { }

firstDay = getFirstDayOfMonth(year, month); //计算月份的第一天

return (-1);

if ((month == FEBRUARY) && (firstDay == 0) && !calendar.isLeapYear(year)) {

return 4;

java程序设计万年历

numCells = firstDay + daysInMonth[month];

if ((month == FEBRUARY) && (calendar.isLeapYear(year))) { }

return ((numCells <= 35) ? 5 : 6); //返回行数

numCells++;

}

private int getFirstDayOfMonth(int year, int month) { //得到每月的第一天

int firstDay; int i;

if (year < 1582) { //年份小于1582年,返回-1 }

if ((month < 0) || (month > 11)) { //月份数错误,返回-1 }

firstDay = getFirstDayOfYear(year); for (i = 0; i < month; i++) { }

firstDay += daysInMonth[i]; //计算每月的第一天

//得到每年的第一天

return (-1);

return (-1);

if ((month > FEBRUARY) && calendar.isLeapYear(year)) {

java程序设计万年历

}

}

return (firstDay % 7);

}

private int getFirstDayOfYear(int year){ //计算每年的第一天 }

int leapYears; int hundreds; int fourHundreds; int first;

if (year < 1582) { //如果年份小于1582年 }

leapYears = (year - 1581) / 4; hundreds = (year - 1501) / 100; leapYears -= hundreds;

fourHundreds = (year - 1201) / 400; leapYears += fourHundreds;

first=5 + (year - 1582) + leapYears % 7; //得到每年第一天 return first;

return (-1); //返回-1

java程序设计万年历

4 测试与运行

图2在年份输入框内输入2013后点击更新后的情况

图3 月份下拉列表框

图4选择月份后的情况

java程序设计万年历

图5点击更新按钮后显示的结果

…… 此处隐藏:393字,全部文档内容请下载后查看。喜欢就下载吧 ……
java课程设计程序设计报告万年历(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/121748.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)