Doppelte Werte in JTable-Zeilen behoben
Obwohl die JTable mit einem benutzerdefinierten Datenmodell gefüllt wurde, blieben sich wiederholende Daten in jeder Zeile bestehen. Bei näherer Betrachtung blieb das Datenmodell jedoch intakt.
Untersuchung und Lösung
Das Problem entstand durch unbeabsichtigte mehrfache Referenzierung derselben Zeilendaten. Die Lösung bestand darin, sicherzustellen, dass jede Zeile eine eindeutige Array-Liste enthielt.
Beispielcode
Hier ist ein vollständiges Codebeispiel, das die korrigierte Implementierung demonstriert:
public void populate(Collection c) { data.clear(); for (Item i : c.getItems()) { ArrayList<String> row = new ArrayList<>(); // Create a new array list for each row for (Property p : i.getProperties().values()) { row.add(p.toString()); } data.add(row); } fireTableDataChanged(); }
Durch die Erstellung einer separaten Array-Liste für jede Zeile zeigten das Datenmodell und JTable die beabsichtigten Daten genau an.
Das obige ist der detaillierte Inhalt vonWie verhindere ich doppelte Zeilen in einer JTable, wenn ich ein benutzerdefiniertes Datenmodell verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!