donstefano
Grünschnabel
Hallo, ich habe eine JTable in einer JScrollPane. Die Tabelle bekommt ihre Daten aus einem XML File....... wenn ich nun das XML File neu lade und sich lediglich existierende datensätze in der Tabelle ändern, wird die Änderung sofort angezeigt.
Kommt nun allerdings eine zeile hinzu, wird die neue Zeile erst angezeigt wenn ich das Fenster in der Größe verändere oder ähnliches.
Wenn ich eine Zeile entferne sieht man, dass der Datensatz sofort aus der Tabelle entfernt wird und die Änderung auch sofort in der Tabelle angezeigt wird. Man erkennt lediglich, dass die JScrollPane noch um die entsprechende Zeile zu groß ist. Dieser Fakt ändert sich auch wieder nach der Größenänderung des Fensters.
Als kleinen Workaround habe ich nun im Action Listener, der meine GUI neu zeichnet, auch den ViewportView der JScrollPane erneut auf die Tabelle gesetzt. Nun werden die änderungen sofort angezeigt.
Ich habe jetzt allerdings ein häßliches Flackern, bei jedem Neuzeichnen der GUI.
Hat jemand eine Idee warum die JScrollPane nicht auf ein repaint() reagiert, bzw. ob es nicht eine bessere Lösung als meine Idee gibt?
Mfg
Stefan
Kommt nun allerdings eine zeile hinzu, wird die neue Zeile erst angezeigt wenn ich das Fenster in der Größe verändere oder ähnliches.
Wenn ich eine Zeile entferne sieht man, dass der Datensatz sofort aus der Tabelle entfernt wird und die Änderung auch sofort in der Tabelle angezeigt wird. Man erkennt lediglich, dass die JScrollPane noch um die entsprechende Zeile zu groß ist. Dieser Fakt ändert sich auch wieder nach der Größenänderung des Fensters.
Als kleinen Workaround habe ich nun im Action Listener, der meine GUI neu zeichnet, auch den ViewportView der JScrollPane erneut auf die Tabelle gesetzt. Nun werden die änderungen sofort angezeigt.
Ich habe jetzt allerdings ein häßliches Flackern, bei jedem Neuzeichnen der GUI.
Hat jemand eine Idee warum die JScrollPane nicht auf ein repaint() reagiert, bzw. ob es nicht eine bessere Lösung als meine Idee gibt?
Mfg
Stefan