JTable getValueAt() klappt nicht immer

Kanissell

Mitglied
hi leute,

ich habe ein actionPerformed, der auf Events bei einem Buttonklick reagiert.

Das Jtable ist immer zweispaltig, so das die spalte wo ich den wert brauche 1 ist (zweite spalte von der tabelle) dort ist ein integer wert drin, den ich weiter benutze.

Manchmal klappt es und manchmal nicht.. Wenn zum Beispiel in der Tabelle nur noch ein EIntrag hat, dann geht es nicht, aber bei vielen Einträgen geht das.

Vielleicht sieht jeman

Java:
public void actionPerformed(ActionEvent ae) {
   if (ae.getActionCommand().equals(Commandos.REMOVE)) {
     int selRow = table.getSelectedRow();
     int col = 1;
     if(selRow == -1) {
       JOptionPane.showMessageDialog(null, "Keine Spalte ausgewählt!");
     } else {
       model.removeRow(selRow);
       System.out.println("das ist drin:" + table.getValueAt(0,1));
       total.subtrahiereBetrag(Integer.parseInt(table.getValueAt(selRow, col).toString()));
       price.setText("Total Preis:" + total.getPrice() + "€");
     }
   }
   ....
 
Zuletzt bearbeitet von einem Moderator:
So wie ich das sehe löschst du immer erst die selektierte Zeile und greifst dann auf die Zelle in Zeile 0/Spalte 1 zu. Das geht natürlich nur solange auch noch ein Zeile vorhanden ist. Wenn die Tabelle nur noch einen Eintrag hat, wird dieser auch gelöscht. Also kannst du dann auch nicht mehr darauf zugreifen.
 

Neue Themen


Zurück
Oben