Heim > Java > javaLernprogramm > Wie verhindere ich doppelte Zeilen in einer JTable, wenn ich ein benutzerdefiniertes Datenmodell verwende?

Wie verhindere ich doppelte Zeilen in einer JTable, wenn ich ein benutzerdefiniertes Datenmodell verwende?

DDD
Freigeben: 2024-12-25 22:33:12
Original
576 Leute haben es durchsucht

How to Prevent Duplicate Rows in a JTable When Using a Custom Data Model?

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();
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage