Ok, allora il problema va affrontato in modo più generale (pensavo i valori fossero fissi).
Crea una HashMap in cui vai a mappare ciascun valore contenuto nella prima colonna con un TableModel:
codice:
HashMap<Integer, MioModel> mappaModel = new HashMap<Integer,MioModel>();
Per ciascun record, prendi il valore della prima colonna e controlla se esiste già una mappatura. Se esiste la mappatura, prelevi il table-model associato e ci aggiungi il record, se non esiste, crei un nuovo table-model e crei la mappatura:
codice:
while( rs.next() ) {
int tipoRecord = rs.getInt( 1 );
if ( mappaModel.containsKey(tipoRecord) ) {
// Esiste già la mappatura: aggiungo il record al relativo TableModel
Record record = ... ; // Crei l'oggetto dal ResultSet
MioModel model = mappaModel.get( tipoRecord );
model.add( record );
} else {
// Non esiste alcuna mappatura, la creo e ci aggiungo il record
Record record = ... ; // Crei l'oggetto dal ResultSet
MioModel model = new MioModel();
model.add( record );
mappaModel.put(tipoRecord, model);
}
}
Ora hai tutti i TableModel, ciascuno contenente i record corrispondenti. Non ti rimane che creare le JTable di conseguenza:
codice:
// Dovrò creare esattamente "mappaModel.size()" JTables...
JTable[] tabelle = new JTable[ mappaModel.size() ];
int idx = 0;
for(Map.Entry<Integer,MioModel> entry : mappaModel.entrySet()) {
tabelle[idx] = new JTable( entry.getValue() );
idx++;
}
Fatto. Ora aggiungi tutte le tabelle al tuo container.
Ciao.