Problem mit ResultSetTableModel

Ich verwende ein ResultSetTableModel um mir Daten aus einer Datenbank in einer jTable anzeigen zu lassen.
Wenn ich über eine Methode addRow() eine Zeile einfüge, wird sie zunächst nicht in der jTable angezeigt.
Erst wenn ich das Programm beende und wieder starte, wird die neue Zeile korrekt angezeigt.
Wer weiß Rat ?

Wenn ich über eine Methode addRow() eine Zeile einfüge, wird
sie zunächst nicht in der jTable angezeigt.

Wenn dein Model von AbstractTableModel abgeleitet ist, kannst Du
In der Methode addRow die Methode fireTableRowsInserted(…) aufrufen. Dann wird die JTable aktualisiert.

Gruß
Torsten

Danke für Deine Antwort.
Die Methode fireTableRowsInserted habe ich schon verwendet, jedoch ohne das gewünschte Ergebnis zu erzielen.

public void addRow(Object[] row) {
try {
rs.moveToInsertRow();
for (int i = 0; i

Die Methode fireTableRowsInserted habe ich schon verwendet,
jedoch ohne das gewünschte Ergebnis zu erzielen.

Wie ist denn der Aufruf von addRow ausgeführt?
Bekommt Deine Swing-Anwendung danach noch die Möglichkeit, die Komponentendarstellung zu aktualisieren?

Gruß
Torsten

Moin, bin wieder online.
Habe inzwischen eine Lösung gefunden, indem ich nach dem Aufrufen von addRow() mir ein neues ResultSet erzeuge. Danach erzeuge ich ein neues UpdatableResultSetTableModel und weise das der jTabel zu.
Es funktioniert, aber ich finde es ziemlich übertrieben nach jeder eingefügten Zeile so einen Aufwand zu betreiben.
Übrigens ist das UpdatableResultSetTableModel eine Erweiterung (erweitert durch addRow() und removeRow()) eines ScrollingResultSetTableModels, welches wiederum eine Erweiterung (erweitert durch getValueAt(),setValueAt(), getRowCount(), isCellEditable()) des ResultSetTableModels ist.
Da muß es doch eine einfachere Lösung geben.

private void button3ActionPerformed(java.awt.event.ActionEvent evt) {
int erg = JOptionPane.showConfirmDialog(null, „Datensatz einfügen ?“, null, JOptionPane.YES_NO_OPTION);
if (erg == 0){
try{
Object[] o = {1,„SK“,„2008-08-24 13:16:00“,„SK“,„2008-08-24 13:16:00“,1};
urstm.addRow(o);
rs = stmt.executeQuery(„SELECT id, ersteller, edatum, bearbeiter, bdatum, meldestatus FROM data_equi“);
urstm = new UpdatableResultSetTableModel(rs);
this.jTable.setModel(urstm);
}catch(SQLException sqle){
sqle.printStackTrace();
}
}
}