En fait, pour maitriser tout, il faut créer ton JTable à partir d'une classe héritant de AbstractTableModel, par défaut DefaultTableModel, et utilser les méthodes de modification de données et la fameuse méthode fireTableDataChanged.
Par example :
new AbstractTableModel() {
public String getColumnName(int col) {
return columnNames[col].toString();
}
public int getRowCount() { return rowData.length; }
public int getColumnCount() { return columnNames.length; }
public Object getValueAt(int row, int col) {
return rowData[row][col];
}
public boolean isCellEditable(int row, int col)
{ return true; }
public void setValueAt(Object value, int row, int col) {
rowData[row][col] = value;
fireTableCellUpdated(row, col);
}
} 