usar una tablas setvalueat setmodel personalizado metodo manejo filas dinamicamente como columnas agregar java swing netbeans jtable defaulttablemodel

una - metodo setmodel java



JTable no muestra el nuevo modelo después de agregar una nueva fila (1)

No puedo volver a pintar mi jTable. Debo volver a ejecutar todas las aplicaciones para mostrar addRow.

Este es el código:

MainPage.java http://pastebin.com/6FZL1pKC

public class Mainpage2 extends javax.swing.JFrame { public static DefaultTableModel tripModel; /** * Creates new form carpoolingui */ public Mainpage2(){ try { tripModel = MPtable.myModel(Parser.parsa_tratta(Database.doRequest("SELECT * from tratte"))); } catch (Exception ex) { Logger.getLogger(Mainpage2.class.getName()).log(Level.SEVERE, null, ex); } initComponents(); } .... jTable1.setModel(tripModel); .... public void tripRepaint() throws MalformedURLException, Exception{ System.out.println(jTable1.getModel()); tripModel = MPtable.myModel(Parser.parsa_tratta(Database.doRequest("SELECT * from tratte"))); jTable1.setModel(tripModel); jTable1.repaint(); System.out.println(jTable1.getModel()); System.out.println(tripModel);

Estos últimos 3 println () muestran que el modelo ha cambiado. lol {} Salida:

Tratta AGGIUNTA

javax.swing.table.DefaultTableModel@1ca7e4a

BOLOGNA

...

CATANZARO

NEW_DEPARTURE_ADDED

javax.swing.table.DefaultTableModel@17d54dd

javax.swing.table.DefaultTableModel@17d54dd

Entonces funciona ... ¡pero no muestra un nuevo modelo!

AddTrip.java http://pastebin.com/t0LqF91a

Carpooling2.mainPage2.tripRepaint();

MPTable.java http://pastebin.com/2gXvYNLC

public class MPtable { public static DefaultTableModel myModel(Tratta[] tratta_array){ int i; DefaultTableModel model = new DefaultTableModel(); model.addColumn("ID"); model.addColumn("LUOGO PARTENZA"); model.addColumn("LUOGO ARRIVO"); model.addColumn("DATA"); model.addColumn("ORA PARTENZA"); model.addColumn("ORA ARRIVO"); model.addColumn("COSTO (€)"); model.addColumn("POSTI DISPONIBILI"); model.addColumn("AUTISTA"); model.addColumn("INFORMAZIONI"); for (i=0; i<tratta_array.length; i++){ System.out.println(tratta_array[i].getLuogoPartenza()); } for (i=0; i<tratta_array.length; i++){ model.addRow(new Object[] { tratta_array[i].getId(), tratta_array[i].getLuogoPartenza(), tratta_array[i].getLuogoArrivo(), tratta_array[i].getData(), tratta_array[i].getOraPartenza(), tratta_array[i].getOraArrivo(), tratta_array[i].getCosto(), tratta_array[i].getPostiDisponibili(), tratta_array[i].getAutista(), tratta_array[i].getInfo() } ); } return model; }