Ok. Ho implementato il mio TableModel:
codice:
class SimpleTableModel extends AbstractTableModel{
//Intestazione delle colonne
String[] columnNames = {"Nome", "Telefono"};
private ArrayList<Contact> contatti;
public SimpleTableModel(ArrayList<Contact> contatti) {
this.contatti = contatti;
}
//Numero di righe uguale alla dimensione dell'ArrayList
public int getRowCount() {
return contatti.size();
}
//Numero di colonne
public int getColumnCount() {
return columnNames.length;
}
//Ritorno il contenuto di una cella
public Object getValueAt(int rowIndex, int columnIndex) {
//Seleziona il contatto
Contact c = (Contact)contatti.get(rowIndex);
String val = null;
switch (columnIndex){
case 0: val = c.getName();
case 1: val = c.getTel();
break;
default: val = "";
}
return val;
}
// ritorna il nome della colonna
@Override
public String getColumnName(int col) {
return columnNames[col];
}
}
Ora provo ad associare questo tableModel ad una jtable.
E poi devo implementare i metodi di ricerca che aggiornano subito la jtable.
Se qualcuno gli dà un'occhiata mi può dire se ci sono errori evidenti?