Ciao a tutti, come faccio a creare una tabella, strutturata in questo modo:
2 campi
x record a seconda del risultato di ciclo for, per esempio supponiamo 30
????
Idee....
thank's
Ciao a tutti, come faccio a creare una tabella, strutturata in questo modo:
2 campi
x record a seconda del risultato di ciclo for, per esempio supponiamo 30
????
Idee....
thank's
-------------------------------------------------
Il fumo nuoce gravemente alla salute
La visualizzazione di ogni campo come viene fatta?
Tramite una JLabel? E poi, quanto puo' essere grande il contenuto di un campo?
Comunque direi che potresti costruire un array di JLabel pari a 2 volte il numero di record che ottieni dalla query, e metterle in un JPanel, puo' andare?
Ciao,
Lorenzo
no io ho
String[] columnNames = {"campo","campo2"};
Object[][] cells = {...};
table = new JTable(cells, columnNames);
solo che nelle celle vorrei inserire questo ciclo
dove praticamente i = campo
e dove io utilizzo ad esempio System.out.println(i+" Lun");
deve essere campo2, come posso fare?
for (int i=1; i<=data.getActualMaximum(Calendar.DAY_OF_MONTH); i++) {
data.set(Calendar.DAY_OF_MONTH, i);
if (data.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){
System.out.println(i+" Lun");
}else if (data.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY){
System.out.println(i+" Mar");
}else if (data.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY){
System.out.println(i+" Mer");
}else if (data.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY){
System.out.println(i+" Gio");
}else if (data.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY){
System.out.println(i+" Ven");
}else if (data.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
System.out.println(i+" Sab");
}else if (data.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
System.out.println(i+" Dom");
}
-------------------------------------------------
Il fumo nuoce gravemente alla salute
Potresti spiegarti un po' meglio?
Questo e' quello che ho capito io:
tu vuoi creare una tabella con due colonne e n righe, dove n e' il giorno del mese (quindi variabile da 1 a 31).
Poi fai un ciclo da 1 a n, e guardi a che giorno della settimana corrisponde il giorno n.
Ma che cosa devi inserire nei due campi?!?
Comunque l'array cells puoi inizializzarlo cosi'
Object cells = Object[n][2];
Un ciclo for scorre i giorni
una cosa simile puo' andare?codice:for(int i=1, max = data.getActualMaximum(Calendar.DAY_OF_MONTH); i <= max; i++) { data.set(Calendar.DAY_OF_MONTH, i); int day = data.get(Calendar.DAY_OF_WEEK); switch(day) { case Calendar.MONDAY: cells[n][1] = Lun cells[n][2] = campo2 break; case Calendar.TUESDAY: cells[n][1] = Mar' cells[n][2] = campo2 break; case Calendar.WEDNESDAY: cells[n][1] = Mer cells[n][2] = campo2 break; case Calendar.THURSDAY: cells[n][1] = Gio cells[n][2] = campo2 break; case Calendar.FRIDAY: cells[n][1] = Ven cells[n][2] = campo2 break; case Calendar.SATURDAY: cells[n][1] = Sab cells[n][2] = campo2 break; case Calendar.SUNDAY: cells[n][1] = Dom cells[n][2] = campo2 break; default: break; }
Ciao,
Lorenzo
ciao, si in effetti mi sono spiegato male, praticamente vorrei fare una tabella dove nella prima colonna mi viene stampato il numero (1,2,3...) mentre nella seconda il giorno della settimana(Lun,Mar,...)
-------------------------------------------------
Il fumo nuoce gravemente alla salute
Allora ti basta modificare leggermente il ciclo che ho postato prima.
in cell[n][1] ci metti n e in cell[n][2] ci metti il giorno della settimana. Prova e vedi se cosi' ti puo' andar bene.![]()
Ciao,
Lorenzo
Per costruire un array di JLabel, è giusto fare in questo modo?Originariamente inviato da lelefante
La visualizzazione di ogni campo come viene fatta?
Tramite una JLabel? E poi, quanto puo' essere grande il contenuto di un campo?
Comunque direi che potresti costruire un array di JLabel pari a 2 volte il numero di record che ottieni dalla query, e metterle in un JPanel, puo' andare?
JLabel testlabel[] = new JLabel[5];
for(int i=0;i<5;i++)
testlabel[i].setText("Elemento "+String.valueOf(i));
-------------------------------------------------
Il fumo nuoce gravemente alla salute
Si, e' corretto. Inoltre fai senza mettere String.ValueOf(i), puoi mettere direttamente "Elemento" + i.
Ciao,
Lorenzo
Originariamente inviato da lelefante
Si, e' corretto. Inoltre fai senza mettere String.ValueOf(i), puoi mettere direttamente "Elemento" + i.
solo che quando aggiungo il componente al Content mi da questo errore:
test.java:55: cannot resolve symbol
symbol : method add (java.lang.String,javax.swing.JLabel[])
location: class java.awt.Container
getContentPane().add(BorderLayout.CENTER, testlabel);
^
1 error
perché?
-------------------------------------------------
Il fumo nuoce gravemente alla salute
Perche' non puoi inserire tutto l'array di JLabel, devi fare un ciclo e inserire i singoli oggetti dell'array.
Ciao,
Lorenzo