Dipende da come crei la tabella. Ti consiglio di leggerti il tutorial sul sito della sun sulle JTable:
http://java.sun.com/docs/books/tutor...nts/table.html
Una tabella la puoi creare passando al costruttore un array bidimensionale di Object che rappresentano gli elementi della tabella, e un array di Object che rappresentano le intestazioni delle colonne (e che possono ad esempio essere stringhe):
codice:
String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian"};
Object[][] data = {....}
JTable table = new JTable(data, columnNames);
oppure puoi usare invece degli array dei Vector.
Il metodo più generale è quello di implementarti un tuo TableModel che viene passato come argomento della tabella; il TableModel rappresenta il modello della tabella ed è ciò che contiene e gestisce effetttivamente i dati, mentre la tabella si limita a visualizzarli, permettendo all'utente di modificarli. Per crearti un tuo TableModel devi estendere la classe AbstractTableModel ed implementare una serie di metodi; in particolare devi implementare un metodo che prende un intero k e restituisce una stringa che rappresenta il nome della colonna k; un metodo che prende un intero i e un intero j e restituisce il dato di posizione (i, j), ecc ecc ...
Ad esempio sul sito della sun è riportato questo esempio:
codice:
class MyTableModel extends AbstractTableModel {
private String[] columnNames = ...//qui metti i nomi delle colonne...
private Object[][] data = ...//è l'array bidimensionle dei dati; puoi inizializzaarlo qui
//oppure passarlo al costruttore
//ritorna il numero di colonne
public int getColumnCount() {
return columnNames.length;
}
//ritorna il numero di righe
public int getRowCount() {
return data.length;
}
//ritorna il nome della colonna numero 'col'
public String getColumnName(int col) {
return columnNames[col];
}
//ritorna il dato di posizione (row, col)
public Object getValueAt(int row, int col) {
return data[row][col];
}
//ritorna la classe a cui appartiene i dati della colonna numero 'c'
//puoi lasciare immodificato questo metodo
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/*
* Don't need to implement this method unless your table's
* editable.
*/
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col < 2) {
return false;
} else {
return true;
}
}
/*
* Don't need to implement this method unless your table's
* data can change.
*/
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
...
}
Quindi per creare la tabella:
JTable table = new JTable(new MyTableModel());