2 Stimmen

Strategie zur Erkennung eines Objekts in einer JTable-Zeile?

Hier ist die Sache: eine sortierbare JTable unterstützt von JTableModel mit einem Array von Objekten, die Zeilen (ein Objekt = eine Zeile) zu füllen. Sie müssen Zeilen löschen.

Ohne Sortierung ist das Löschen eines Objekts einfach: Ermitteln des Index der ausgewählten Zeile, Löschen des Array-Objekts mit demselben Index. Mit der Sortierung kommen die Zeilenindizes jedoch in dem Sinne durcheinander, dass sie nicht mehr mit den Indizes der unterstützenden Array-Objekte übereinstimmen. Wie kann man das Problem lösen?

6voto

yanchenko Punkte 55207

Oscar hatte fast recht, so sollte es gemacht werden:

int selectedRow = table.getSelectedRow();
tableModel.removeRow(table.convertRowIndexToModel(selectedRow));

3voto

OscarRyz Punkte 189898

Ich glaube (bin mir nicht ganz sicher), dass es eine Methode wie "modelToView" gibt, die den tatsächlichen Index im Modell zurückgibt, den ein View-Index darstellt.

Wenn Sie also zum Beispiel A,B,C,D haben und dann desc. D,C,B,A würde diese Methode 0 für Ansichtsindex 3 ( A ) zurückgeben

Ich denke, dies war auf JXTable, die Sortierung oder in JTable in Java 6 unterstützt.

Wenn Sie diese Sortierung selbst gebaut haben, sollten Sie diese Methode hinzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X