A questo punto puoi creare un array nel metodo che popola la JTable e chiamare visualizza().
codice:
Fattura[] dati = visualizza();
// Qui scorri l'array e riempi la tabella
for(Fattura fattura : dati) {
// setti il valore nella tabella; il dato lo ottieni facendo fattura.getAnno(); o fattura.getPrezzo(); etc
}
Al termine di questo hai la tabella piena
Nell'altro metodo, quello che legge dal DB:
codice:
String query = "select * FROM movimenti";
ArrayList<Fattura> elenco = new ArrayList<Fattura>();
try {
stm = con.createStatement();
rs = stm.executeQuery(query);
while(rs.next()) {
String col1 = .... // Bada bene che puoi specificare il nome della colonna del DB
String col2 = ....
// .........
String colN = .....
Fattura f = new Fattura(col1, col2,..., colN);
elenco.add(f);
}
} catch(Exception e) {}
return elenco; // prima di restituire, ricordati di convertirlo in un array di Fattura.
// in alternativa, nell'altro metodo usi ArrayList<Fattura> elenco = ...
Ricordati di chiudere stm.