|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2008
Messaggi: 157
|
Java - array 2d in jtable
Ciao, premetto che sono neofita di java.
Ho creato una matrice di double MxN che vorrei visualizzare in una jtable. Per creare il model ho bisogno di convertire l'array[][] double della matrice in Object[][]. Come faccio a fare la conversione? grazie
__________________
Asus U30JC-QX163X |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 309
|
No, la conversione la fai direttamente nel metodo getValueAt.
Per esempio se l'array è di double in quella funzione fai: Codice:
public Object getValueAt(int row, int col) {
return new Double(array[row][col]);
}
Ovviamente nel model, come campo, devi avere l'array. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2002
Città: Nardo' (LE)
Messaggi: 4018
|
Ho un problema simile anche io, ma non devo usare gli array!
In poche parole, devo popolare una tabella di 4 colonne con i risultati di una query verso un database! Supponiamo che la query restituisca 3 righe (ma potrebbero essere 0, come 50) da 4 colonne ([1,2,3,4],[5,6,7,8],[9,10,11,12]), l'intenzione e' sfruttare il costruttore JTable(Vector rowData, Vector columnNames), rowData che e' un vettore di vettori (poi ho intenzione di sostituire Vector con ArrayList, ma al momento mi interessa l'implementazione)... e il problema e' questo: il vettore che mi viene fuori non e' [1,2,3,4] [5,6,7,8] [9,10,11,12] ma [1,2,3,4,5,6,7,8,9,10,11,12] [1,2,3,4,5,6,7,8,9,10,11,12] [1,2,3,4,5,6,7,8,9,10,11,12] quindi nella tabella vedo si 3 righe, ma sempre con 1,2,3,4 Il codice che ho usato per generare i vettori e': Codice:
while (rs.next()) {
elementi.add(rs.getString("1"));
elementi.add(rs.getString("2"));
elementi.add(rs.getString("3"));
elementi.add(rs.getString("4"));
dati.add(elementi);
}
Ragionandoci, mi e' venuto in mente che ad ogni iterazione dovrei usare un vettore di tipo diverso (es. elementi1, elementi2, elementi3, ...), ma non riesco a pensare ad un modo per farlo, non sapendo a priori quanti saranno i risultati della query...
__________________
15 maggio 2008 11 marzo 2013 26 febbraio 2014 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Basta che come prima istruzione del corpo del while instanzi un nuovo contenitore:
Codice:
elementi = new Vector(); |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2002
Città: Nardo' (LE)
Messaggi: 4018
|
Quote:
__________________
15 maggio 2008 11 marzo 2013 26 febbraio 2014 |
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: Jun 2008
Messaggi: 157
|
Quote:
__________________
Asus U30JC-QX163X |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:10.




















