Bri ha scritto:
ho scritto questo fa la connessione al db e preleva i dati con le query solo che sto provando ad inserire la jtable di prova e non riesco a renderla dinamica con le query
Il JTable lo istanzi nel costruttore, quindi in quel momento ovviamente non hai ancora dati da DB, visto che li otterrai solo a seguito della azione sul pulsante
cerca. Quindi devi cambiare un pochino.
Fai così, come prima soluzione veloce (poi vedi se ti va bene ).
1) Nel costruttore istanzia un DefaultTableModel ed assegnalo ad una variabile di istanza. Lo (ri)userai ad ogni click del cerca. Assegnalo subito anche al JTable.
2) Nel actionPerformed sfrutta uno dei due setDataVector di DefaultTableModel. Puoi usare
setDataVector(Vector dataVector, Vector columnIdentifiers)
oppure
setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
Partendo dal Vector<String[]> che ottieni dalla query, è molto facile ottenere un Object[][] oppure un Vector di Vector di Object. Visto che gli elementi nel Vector sono già degli array, arrivare ad un Object[][] è più facile perché basta fare:
Object[][] data = result.toArray(new Object[0][]);
a quel punto: defTableModel.setDataVector(data, new Object[] { "header", ..... });
Uno dei difetti di tutto questo è che devi sapere in anticipo quante colonne otterrai, per poter creare l'array dei nomi di colonne.
P.S. Tutto questo comunque è molto buttato lì, ci sono soluzioni ampiamente migliori ma richiedono più "design".