Wie kann ich den Inhalt der JTable mit Java löschen ..So löschen Sie JTable
Antwort
Grundsätzlich hängt es von der TableModel, die Sie für Ihre JTable verwenden. Wenn Sie die DefaultTableModel
dann verwenden, können Sie es auf zwei Arten tun:
DefaultTableModel dm = (DefaultTableModel)table.getModel();
dm.getDataVector().removeAllElements();
dm.fireTableDataChanged(); // notifies the JTable that the model has changed
oder
DefaultTableModel dm = (DefaultTableModel)table.getModel();
while(dm.getRowCount() > 0)
{
dm.removeRow(0);
}
die JavaDoc von DefaultTableModel Weitere Details finden
Denken Sie daran, ein Tabellenereignis auszulösen, wenn Sie den zugrunde liegenden Datenvektor ändern - sonst hat die JTable keine Ahnung, dass sie sich geändert hat ... – dacwe
-1, beide Vorschläge sind falsch. Der erste, aus dem oben genannten Grund. Die zweite Zeile wird Zeilen überspringen, da die Variable i beim Fortsetzen jeder Zeile inkrementiert wird. Wenn Sie eine Schleife erstellen möchten, entfernen Sie einfach Zeile 0, bis keine Zeilen mehr vorhanden sind. Carlos veröffentlichte jedoch die einfachste Lösung. – camickr
Camickr, du hast Recht. Ich habe meine Antwort geändert, um diese Probleme zu beheben. Dennoch ist Carlos 'Lösung einfacher zu implementieren. –
Es hängt davon ab, welches Modell Sie verwenden für deine JTable.
Sie müssen die Daten aus dem für die Tabelle verwendeten TableModel
entfernen.
Wenn Sie DefaultTableModel
verwenden, setzen Sie die Zeilenanzahl einfach auf Null. Dies löscht die Zeilen und feuert die TableModelEvent
, um die GUI zu aktualisieren.
JTable table; … DefaultTableModel model = (DefaultTableModel) table.getModel(); model.setRowCount(0);
Wenn Sie andere TableModel
verwenden, überprüfen Sie bitte die Dokumentation.
Das hier einfach hinzufügen ... Ich musste 'table.revalidate();' nach dem Setzen der Zeilenanzahl auf Null aufrufen, um die Änderung sofort zu sehen, sonst sah ich die Änderung erst, als ich auf 'JTable geklickt habe '. – Sakiboy
@ Jim-Dingo funktioniert ohne 'revalidate()' für mich: [einfaches Beispiel] (http://pastebin.com/iDgLeKPk) Das 'DefaultTableModel' informiert die Ansicht, wenn Daten geändert wurden - überprüfen Sie den Code von' setNumRows (int) ', ruft' fireTableRowsDeleted' auf, wenn die Zeilenanzahl verringert wird. –
Ich musste saubere Tabelle ohne Spalten bekommen. Ich habe folgendes getan:
jMyTable.setModel(new DefaultTableModel());
schnelle und effektive Lösung, aber es entfernt auch die Kopfzeile. Es sollte besser sein, wenn es eine Option gibt, den Header nicht zu entfernen. Jemand in einem anderen Beitrag schlug vor, alle Zeilen nacheinander zu entfernen. Das würde den Header behalten –
Dies ist der schnellste und einfachste Weg, den ich gefunden habe;
while (tableModel.getRowCount()>0)
{
tableModel.removeRow(0);
}
Dies löscht die Tabelle lickety Split und macht es bereit für neue Daten.
Ich glaube, du meinst, dass du alle Zellen in der jTabelle löschen willst und es wie eine neue leere jTabelle machen willst. Wenn Ihre Tabelle beispielsweise myTable ist, können Sie Folgendes tun.
DefaultTableModel model = new DefaultTableModel();
myTable.setModel(model);
Wenn wir tMOdel.setRowCount(0);
verwenden, können wir leere Tabelle erhalten.
DefaultTableModel tMOdel = (DefaultTableModel) jtableName.getModel();
tMOdel.setRowCount(0);
Bitte bearbeiten Sie mit mehr Informationen. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". Wir bemühen uns, eine Ressource für Wissen zu sein. – abarisone
((DefaultTableModel)jTable3.getModel()).setNumRows(0); // delet all table row
Try This:
- 1. Löschen hervorgehobene Zelle in Jtable
- 2. So implementieren Sie jtable mit variabler Zeilenhöhe
- 3. So speichern Sie die Änderungen an jTable
- 4. So löschen Sie MemoryCache?
- 5. So löschen/löschen Sie eine Cache-Variable
- 6. JTable So aktualisieren Sie das Tabellenmodell nach dem Einfügen Löschen oder Aktualisieren der Daten.
- 7. Löschen von Zeilen aus JTable - Java
- 8. So löschen Sie eine Dateieingabe
- 9. So löschen Sie iCloud-Dokumente?
- 10. So löschen Sie eine Tabelle
- 11. So löschen Sie std :: ostream
- 12. So löschen Sie die Einschränkungsgruppe
- 13. So löschen Sie viele Knoten
- 14. So löschen Sie eine Datenrasteransicht
- 15. So löschen Sie HSTORE-Schlüssel?
- 16. So löschen Sie UIViewController korrekt?
- 17. So löschen Sie Testergebnisse automatisch
- 18. So löschen Sie ein Winkelfeld
- 19. So löschen Sie einen DatePicker
- 20. So löschen Sie ein Array
- 21. FirebaseStorage: So löschen Sie Verzeichnis
- 22. So entfernen Sie den Rahmen mit einem JTable/JScrollPane
- 23. So löschen Sie Tabelleninhalte in HTML, ohne Daten zu löschen
- 24. So löschen Sie Spalten in numpy.array
- 25. So löschen Sie Inhalt auf einer Bitmap
- 26. So löschen Sie Commits von bitbucket
- 27. So löschen Sie die Konsole in Java?
- 28. So löschen Sie die MySQL-Protokolldatei
- 29. So löschen Sie Daten von NSMutableArray
- 30. So löschen Sie Spalten in pyspark Dataframe
prüfen diese Frage: http://stackoverflow.com/questions/4439210/deleting-datas-in-the-table-in-gui/4439297#4439297 –
Dupe of: http://stackoverflow.com/questions/3879610/clear-contents-of-a-jtable –