반응형
Java Class의 Calendar Class를 활용하는건 공통적으로 똑같다.
단 View 화면에 보여줄때, 요일별 앞뒤 공간조절을 어떤 방식으로 처리 할것인가에 대한 방법이다.
각 클레스의 메소드는 API를 참조할것. 일일이 설명 안하겠음
1. 첫번째 경우의 수
cal.set(year, month, 1);
int startDay = cal.getMinimum(java.util.Calendar.DATE);
//해당 달의 마지막 날자
int endDay = cal.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);
//해당 달의 시작 지점 [일(1), 월(2),화(3),수(4), 목(5), 금(6), 토(7)]
int start = cal.get(java.util.Calendar.DAY_OF_WEEK);
//다음 라인으로 이동 할지를 결정 하는 변수
int newLine = 0;
//테이블 생성
out.println("<table>");
//반복문을 돌며 시작지점 까지 빈공간을 만들어준다.
for (int index = 1; index < start; index++) {
out.print("<TD> </TD>");
newLine++;
}
//일자를 화면에 출력, 일정관리를 해줄경우 이곳을 커스터마이징, 응용 하여 사용하면 됨
for (int index = 1; index <= endDay; index++) {
String color = "";
if(newLine == 0){
color = "RED";
}else if(newLine == 6 ){
color = "BLUE";
}else{
color = "BLACK";
}
//TODO : index를 out.println("<tr><td>"+index+"</td></tr>"); 와 본인의 입맛에 맞게 구현
//하나의 일자를 화면에 출력한뒤 라인이동 변수에 +1을 해준다.
newLine++;
//라인이동 변수가 7인경우 라인 변경을 위하 "</tr>" 을 출력한다. 라인이동후 라인이동 변수 값은 "0"으로 변경
//index(화면에찍힌 숫자[날짜] )가 endDay(이달의 마지말날) 보다 작을경우 새로운 라인을 만들어
//주기위해"<tr>"을 출력
단 View 화면에 보여줄때, 요일별 앞뒤 공간조절을 어떤 방식으로 처리 할것인가에 대한 방법이다.
각 클레스의 메소드는 API를 참조할것. 일일이 설명 안하겠음
1. 첫번째 경우의 수
cal.set(year, month, 1);
int startDay = cal.getMinimum(java.util.Calendar.DATE);
//해당 달의 마지막 날자
int endDay = cal.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);
//해당 달의 시작 지점 [일(1), 월(2),화(3),수(4), 목(5), 금(6), 토(7)]
int start = cal.get(java.util.Calendar.DAY_OF_WEEK);
//다음 라인으로 이동 할지를 결정 하는 변수
int newLine = 0;
//테이블 생성
out.println("<table>");
//반복문을 돌며 시작지점 까지 빈공간을 만들어준다.
for (int index = 1; index < start; index++) {
out.print("<TD> </TD>");
newLine++;
}
//일자를 화면에 출력, 일정관리를 해줄경우 이곳을 커스터마이징, 응용 하여 사용하면 됨
for (int index = 1; index <= endDay; index++) {
String color = "";
if(newLine == 0){
color = "RED";
}else if(newLine == 6 ){
color = "BLUE";
}else{
color = "BLACK";
}
//TODO : index를 out.println("<tr><td>"+index+"</td></tr>"); 와 본인의 입맛에 맞게 구현
//하나의 일자를 화면에 출력한뒤 라인이동 변수에 +1을 해준다.
newLine++;
//라인이동 변수가 7인경우 라인 변경을 위하 "</tr>" 을 출력한다. 라인이동후 라인이동 변수 값은 "0"으로 변경
//index(화면에찍힌 숫자[날짜] )가 endDay(이달의 마지말날) 보다 작을경우 새로운 라인을 만들어
//주기위해"<tr>"을 출력
if (newLine == 7) {
out.print("</TR>");
if (index <= endDay) {
out.print("<TR>");
}
newLine = 0;
}
}
}
//newLine 변수가 0 혹은 7 로 끝나지 않고 중간에 머물러 있다면 뒤에 남는 공간이 있다는 뜻이다.
//그러므로 반복문 의 조건의 거짓이 될때까지 돌며 라인이동 변수값에 +1을 해준다.
//라인이동변수값이 7이 되면 조건에 참이 아닌 거짓이 되기 때문에 반복문을 빠져 나오게 된다.
while (newLine > 0 && newLine < 7) {
out.print("<TD> </TD>");
newLine++;
}
2. 두번째 경우의 수
다음에... ..
3. 세번째 경우의 수
out.print("</TR>");
if (index <= endDay) {
out.print("<TR>");
}
newLine = 0;
}
}
}
//newLine 변수가 0 혹은 7 로 끝나지 않고 중간에 머물러 있다면 뒤에 남는 공간이 있다는 뜻이다.
//그러므로 반복문 의 조건의 거짓이 될때까지 돌며 라인이동 변수값에 +1을 해준다.
//라인이동변수값이 7이 되면 조건에 참이 아닌 거짓이 되기 때문에 반복문을 빠져 나오게 된다.
while (newLine > 0 && newLine < 7) {
out.print("<TD> </TD>");
newLine++;
}
2. 두번째 경우의 수
다음에... ..
3. 세번째 경우의 수
반응형
'JAVA' 카테고리의 다른 글
eclipse maven war (0) | 2012.07.24 |
---|---|
Http Session (0) | 2011.08.29 |
java component reference site (0) | 2011.03.31 |
Date toString() reverse Date() (0) | 2010.12.02 |
java reflect private 접근 하기 (0) | 2010.09.13 |