java课程设计程序设计报告万年历(2)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




