Entfernen 1 gewählte Zeile aus JTable

Ich versuche seit fast 2 Stunden, um herauszufinden, wie Sie entfernen und aktualisieren 1 Zeile aus JTable aber irgendwie hat es nicht funktioniert.
Ich verwende den folgenden code:

DefaultTableModel modelTable = (DefaultTableModel) jTabelRooster.getModel();

modelTable.addRow(new Object[]{lid.getLidnummer().toString(), lid.getLidvoornaam(), lid.getLidtussenvoegsel(),lid.getLidachternaam(), lid.getAanwezig()});

Ok, so weit so gut.. die Zeilen sind schön Hinzugefügt.. aber jetzt würde ich mag, um Sie zu entfernen:

int SelectedRow = jTabelRooster.getSelectedRow();
modelTable.removeRow(SelectedRow);

Wenn ich das mache bekomme ich folgende Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 2

Ihre Hilfe wäre sehr geschätzt

BEARBEITEN:
die jTabelRooster wurde inserterd durch das gui-layout-manager
Also ich habe diesen code jetzt ist, und ich nicht bekommen, viel Erfolg:

private void initRoosterDetail()
{
   for(int i = 0; i < leden.size(); i++)
        {
            lid = leden.get(i);

            modelTable.addRow(new Object[]{lid.getLidnummer().toString(), lid.getLidvoornaam(), lid.getLidtussenvoegsel(),lid.getLidachternaam(), lid.getAanwezig()});

        }
}
private void jbInschrijvingVerwijderenActionPerformed(java.awt.event.ActionEvent evt) {                                                          
        int SelectedRow = jTabelRooster.getSelectedRow();
        modelTable.removeRow(jTabelRooster.convertRowIndexToModel(SelectedRow));
  }  

dieser muss es sein 🙂

Wenn ich die Option 1 Zeile in der Tabelle und drücken Sie die abbrechentaste.. erhalte ich diese Meldung:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 2

========================================================================================================================================================================================================================================================================================================================================

Danke an alle für die Hilfe... ich weiß, was ich falsch gemacht habe... hatte es zu tun mit einem tableModelListener ich verwendet.. so dies ließ mich mit einem anderen problem 🙂

 jTabelRooster.getModel().addTableModelListener(
        new TableModelListener()
        {
        public void tableChanged(TableModelEvent evt) 
        {
             if(jTabelRooster.getSelectedColumn() == 4)
             {
              }
    }

});

Dieser code Durcheinander, die deleterow Befehl.

Habe ich 1 Boolesche Spalte mit Checkboxen in es 🙁

  • Vorschlag, um eine schnelle anständige Antwort hier: erstellen und veröffentlichen einer sehr kleinen kompilierbar, ausführbar Beispiel-Programm, das wir ausführen können, unverändert und zeigt, dass Ihr problem, ein sscce.
  • Vorgeschlagen von @HovercraftFullOfEels Post die SSCCE oder zumindest die relevanten Methoden des Codes, so dass wir nicht haben, um bang Kopf zu machen wilde Vermutungen über die Gründe für Fehler...Meine Kurze Frage..zeigen die Methode, wo Sie erstellen modelTable Objekt
  • Bitte nicht posten-code in die Kommentare, da verliert es alle Formatierungen und unlesbar wird. Stattdessen Bearbeiten Sie Ihre Frage mit Ihrem neuen code. Und über das sscce, je früher Sie buchen, desto früher bekommst du eine richtige Antwort. Berücksichtigen Sie auch Antworten auf Antworten auf Ihre Fragen auf dieser Website. Wir freiwillige sind und wie wissen, dass Sie sich die Zeit und Lesen Sie unsere Beiträge und ob oder nicht es hat geholfen. Ihre Antworten werden helfen, motivieren, anderen zu helfen, Sie mehr.
  • Ok.. vielen Dank für die Unterstützung.. ich fügen Sie einige zusätzliche code jetzt
  • Bitte fügen Sie den stack-trace der exception
  • i know what i did wrong... it had to do with a tableModelListener i used - hier haben Sie, dass die Beratung in der Sie die Letzte Frage, so wäre es schön die Antwort akzeptieren, die Sie verwendet. Aber noch wichtiger wäre es sogar besser, wenn Sie tatsächlich befolgt die Ratschläge, die Sie in Ihrer letzten Frage. Dann würden Sie nicht dieses problem haben, und die Leute würden nicht verbringen Zeit mit dem Lesen dieser Frage. Hinweis: ein "löschen" ist etwas anderes als ein "update". Sie wollen nicht ausführen, Ihren code auf eine löschen.

InformationsquelleAutor user2445977 | 2013-06-22
Schreibe einen Kommentar