Java Tabelle JAVA Bug?

Xerxes18

Lieutenant
Registriert
Aug. 2008
Beiträge
700
Guten Abend liebe Gemeinde,

ich habe glaube ich habe ein unlösbares Problem:

Ich habe eine Tabelle erstellt, die Daten aus einer ArrayList ausliest. Mit dem Button Exmatrikulieren soll das ausgewählte gelöscht werden (auch aus dem Array).

Wenn die zeile gelöscht wird, soll der Rast nachgerückt werden.

Im Grunde funktioniert es auch, aber halt nicht so ganz.
Wenn ich auf den Button klicke löscht er das Objekt, aber die zeile wird erst gelöscht, wenn ich mit dem Balken einmal hoch und runter scrolle.

Ich denke das ist ein bug in Java oder?




 
Zuletzt bearbeitet:
Hallo,

nein, das ist kein Bug *g*

Schau dir mal die fireTable**** Methoden des AbstractTableModel an:
- die einfachste Möglichkeit: wäre wohl: fireTableDataChanged()
- Performanter sind allerdings die fireTableRows*** Methoden, die brauchen allerdings noch Rows, die aktualisiert werden sollen (sollte bei deinem Code ja kein Problem sein).

Gruß
 
also ich habs mit repaint() und revalidate() probiert, das geht leider auch nicht.

@mstramm:

Kannst du mir eventuell etwas mehr dazu erzählen? Ich habe da noch nicht so den durchblick (JAVA Anfänger) und gerade mal 1 Tag Gui Erfahrung :D
 
Dein Code ist auch ein "wenig" unsauber/wirr...aber darauf gehe ich jetzt nicht weiter ein.

Ändere mal den Code zum löschen der Row in:

Code:
Exmatrikulieren nm= new Exmatrikulieren();
AbstractTableModel model = (AbstractTableModel)table.getModel();
int selectedRow = table.getSelectedRow();
if (selectedRow >= 0) {
  nm.removeRow(table.convertRowIndexToModel(selectedRow));
  model.fireTableDataChanged();
}

Gruß

(ohne IDE geschrieben...)
 
Hallo,

wunderbar, es hat funktioneirt, ich danke dir :)

MFG
Xerxes20
 
Zurück
Oben