Guten Tag zusammen,
ich habe eine Swing Anwendung gemacht, die Daten direkt in MySQL einfügen kann und die Daten dann in einer JTable zeigen kann. Mein Problem: Wenn ich Daten einfüge dann werden von der JTable nicht angezeigt. Nur wenn ich die Anwendung schließe und dann wieder öffnen dann werden die neue Daten angezeigt. Wie kann ich nach jeder INSERT die JTable aktualisieren ? Google hat mir etwas mit tableModel.fireTableDataChanged() gezeigt aber nach mehreren Stunden rumprobieren habe ich es nicht geschafft.
Danke für die Hilfe !!!!!!
Hier ist mein Code:
Die Daten stehen in eigener Klasse:
JTable steht in der Main Klasse:
ich habe eine Swing Anwendung gemacht, die Daten direkt in MySQL einfügen kann und die Daten dann in einer JTable zeigen kann. Mein Problem: Wenn ich Daten einfüge dann werden von der JTable nicht angezeigt. Nur wenn ich die Anwendung schließe und dann wieder öffnen dann werden die neue Daten angezeigt. Wie kann ich nach jeder INSERT die JTable aktualisieren ? Google hat mir etwas mit tableModel.fireTableDataChanged() gezeigt aber nach mehreren Stunden rumprobieren habe ich es nicht geschafft.
Danke für die Hilfe !!!!!!
Hier ist mein Code:
Die Daten stehen in eigener Klasse:
Code:
public class MySQL_data {
DefaultTableModel dm = new DefaultTableModel();
{
dm.addColumn("ID");
dm.addColumn("Name");
dm.addColumn("Date");
String sql = "SELECT * FROM Table;
try {
Connection con = DBConnection.getDBConnection();
Statement s = con.prepareStatement(sql);
ResultSet rs = s.executeQuery(sql);
while (rs.next()) {
// GET VALUES
Vector<Object> row = new Vector<Object>();
row.add(rs.getString("ID"));
row.add(rs.getString("Name"));
row.add(rs.getDate("Date"));
dm.addRow(row);
dm.fireTableDataChanged();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
JTable steht in der Main Klasse:
Code:
...................
// JTable MySQL
MySQL_data mysql_table = new MySQL_data();
JTable table = new JTable(mysql_table.dm);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(800, 80, 330, 100);
scrollPane.setSize(1000, 800);
f.add(scrollPane);
...........................