2009-05-14 8 views
0

J'essaie de reproduire une interface utilisateur comme un gcalendar (seulement la disposition pas une de ses fonctions) comment construire une boucle avec un calendrier pour construire une mise en page mignon comme ça ? avec les samedis marqués et les vacances aussi.Créer une interface utilisateur html-js GCalendar comme java

Thx

+0

Vous voulez dire une interface utilisateur comme Google Agenda? Voir http://stackoverflow.com/questions/859012/approach-to-build-a-simple-calendar-in-java-swing – Mark

+0

Mark, pas exactement, devrait être comme une itération sur un calendrier et le sortir. le JTable ne répond pas à cela, im regardant plus d'un algorithme qu'un composant lui-même. –

+0

Ok, mais les commentaires ont parlé d'utiliser JPanels comme alternative. Vous pouvez utiliser JPanels ou même simplement dessiner les composants vous-même au niveau Java2D. – Mark

Répondre

0

le code java:

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); 

     } 

    } 

la sortie avec tiret correcte de jours dans le mois (exemple donné pour mai):

- 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

maintenant, fondamentalement, changer les étiquettes d'impression, il est possible de produire le bon code HTML pour l'interface utilisateur. –

Questions connexes