2009-05-14 2 views
0

gcalendar와 같은 UI를 복제하려고합니다 (해당 기능이 아닌 레이아웃 만) 캘린더로 루프를 작성하여 귀여운 레이아웃을 만드는 방법 ? saturdays 표시와 휴일도.html-js UI 만들기 비슷하게 Java에서 GCalendar

들으

+0

당신은 UI와 같은 의미 Google 캘린더? http://stackoverflow.com/questions/859012/approach-to-build-a-simple-calendar-in-java-swing – Mark

+0

을 참조하십시오. 정확하지는 않지만 달력을 반복하는 것과 같아야합니다. JTable은 그것을 충족시키지 못한다. 즉, 컴포넌트 자체보다는 알고리즘이 더 필요하다. –

+0

좋아,하지만 주석은 JPanels를 대안으로 사용하는 것에 대해 이야기했습니다. JPanel을 사용하거나 Java2D 레벨에서 구성 요소를 직접 그릴 수 있습니다. – Mark

답변

0

자바 코드 :

public class CalendarUI { 
    public static String Dias[] = { "", "DOM", "SEG", "TER", "QUA", "QUI", "SEX", "SAB" }; 
    public static String Meses[] = { "JAN", "FEV", "MAR", "ABR", "MAI", "JUN", "JUL", "AGO", "SET", "OUT", "NOV", "DEZ" }; 

    public static void printCalendar(int currMonth){ 
     int i = 1;  
     Calendar c = Calendar.getInstance(); 
     NumberFormat formatter = new DecimalFormat("##00"); 


     c.set(Calendar.YEAR, 2009); 
     c.set(Calendar.MONTH, currMonth); 
     c.set(Calendar.DATE, i); 

     // cabecalho com o mes 
     System.out.println(" - " + Meses[currMonth] + " - "); 

     // ajuste para o primeiro dia 
     for (; i < c.get(Calendar.DAY_OF_WEEK); i++) { 
      System.out.print("   "); 
     } 

     // principal 
     for (i = 1; i <= 31; i++) { 
      c.set(Calendar.DATE, i); 

      if (c.get(Calendar.MONTH) == currMonth) {  
       if (c.get(Calendar.DAY_OF_WEEK) == 1) 
        System.out.println(""); 

       System.out.print("[ " + Dias[c.get(Calendar.DAY_OF_WEEK)] 
         + ", " + formatter.format(i) + " ]"); 
      } 
     }  

     System.out.println("\n\n"); 
    } 

    public static void main(String[] args) { 
     for (int j = 0; j < 12; j++) { 
      CalendarUI.printCalendar(j); 

     } 

    } 

(5 월 주어진 예) 개월 만에 일의 올바른 들여 쓰기 출력 :

- MAI - 
                 [ SEX, 01 ][ SAB, 02 ] 
[ DOM, 03 ][ SEG, 04 ][ TER, 05 ][ QUA, 06 ][ QUI, 07 ][ SEX, 08 ][ SAB, 09 ] 
[ DOM, 10 ][ SEG, 11 ][ TER, 12 ][ QUA, 13 ][ QUI, 14 ][ SEX, 15 ][ SAB, 16 ] 
[ DOM, 17 ][ SEG, 18 ][ TER, 19 ][ QUA, 20 ][ QUI, 21 ][ SEX, 22 ][ SAB, 23 ] 
[ DOM, 24 ][ SEG, 25 ][ TER, 26 ][ QUA, 27 ][ QUI, 28 ][ SEX, 29 ][ SAB, 30 ] 
[ DOM, 31 ] 
+0

이제 기본적으로 인쇄 태그를 변경하여 UI의 올바른 html을 출력 할 수 있습니다. –