PDA

Visualizza la versione completa : [Java] Tabella


valer_85
05-07-2005, 17:38
salve a tutti.ecco il mio problema: dovrei creare una tabella con varie righe, in ognuna ci devono essere informazioni che prendo da un arraylist. il problema č ke mi visualizza solo una riga con l'ultimo elemento dell'arraylist. ecco il codice:


String[] iscr = new String[l.size()];
for(int i=0;i<iscr.length;i++){
nome = l.get(i).getNomeApp();
data = l.get(i).getData();
voto = ""+l.get(i).getVoto();
iscr[i] = nome+" "+data+" "+voto;
}

final String[] names = {"Nome Apello", "Data", "Voto"};

final Object[][] data1 = {
{nome, data, voto}};

TableModel dataModel = new AbstractTableModel() {
// These methods always need to be implemented.
public int getColumnCount() { return names.length; }
public int getRowCount() { return data1.length;}
public Object getValueAt(int row, int col) {return data1[row][col];}
public String getColumnName(int column) {return names[column];}
public Class getColumnClass(int col) {return getValueAt(0,col).getClass();}
public boolean isCellEditable(int row, int col) {return (col==4);}
public void setValueAt(Object aValue, int row, int column) {
data1[row][column] = aValue;
}
};
JTable table = new JTable(dataModel);

JScrollPane scrollpane = new JScrollPane(table);

scrollpane.setPreferredSize(new Dimension(500, 200));


ho provato con un ciclo ma vengono 1000 errori :(
grazie :ciauz:

floyd
05-07-2005, 17:49
potrei avere cannato, non ho guardato tutto il codice


final String[] names = {"Nome Apello", "Data", "Voto"};
Object[][] data1 = new Object[iscr.length][3];
for(int i=0; i<iscr.length; i++){
nome = l.get(i).getNomeApp();
data = l.get(i).getData();
voto = ""+l.get(i).getVoto();
iscr[i] = nome+" "+data+" "+voto;
data1[i] = new Object[]{nome, data, voto};
}

valer_85
05-07-2005, 18:08
:unz: yes! perfetto! grazie 1000 :ciauz:

valer_85
06-07-2005, 18:00
ho un altro problema. nn riesco a capire come fare x usare una riga della tabella. x esempio, x utilizzare un elemento di una lista faccio cosė:


public void valueChanged(ListSelectionEvent e) {
Appello app = (Appello) c1.getSelectedValue();
ind = parent.getGest().getEsami().indexOf(app);
stato.setText("");

}


per fare la stessa cosa con una tabella come faccio?
grazie :ciauz:

valer_85
07-07-2005, 12:12
nessuna idea? :(

AlbertoPicca
07-07-2005, 12:20
Puoi spiegarti meglio... :ciauz:

valer_85
07-07-2005, 12:33
ci provo :D allora, selzionando un elemento dalla JList con getSelectedValue() lui va a pescare l'elemento corrispondente in un arrayList. in una tabella se seleziono una riga come faccio a usare l'elemento selezionato? praticamente mi servirebbe l'equivalente di getSelectedValue() x le tabelle... grazie :)

AlbertoPicca
07-07-2005, 12:59
Forse cerchi il metodo getValueAt(Row, Col) che restituisce un Object.
:ciauz:

valer_85
07-07-2005, 13:39
ah capito! sisi! :D grazie, ciao :ciauz:

valer_85
15-07-2005, 10:41
scusate, a cosa serve "final"? grazie :)

Loading