JTable AbstractTableModel Eintraege aendern

keeepa

Mitglied
Hallo zusammen,
ich habe ein kleines Problem. Und zwar habe ich mir ein AbstractTableModel geschrieben, welches ich ueber einen Vector im Vector fülle. Wie das so halt ist, fuelle ich damit meine JTable.
Code:
    public Object getValueAt(int rowIndex, int columnIndex) {
        Object zelle;
        Vector zeile = new Vector();
        
        //Zerlegen des zweidimensionalen Vectors
        zeile =  (Vector)zweiDimVector.get(rowIndex);
        
            zelle = zeile.get(columnIndex);
        
           
        //zelle = zeile.get(columnIndex).getClass();
        return zelle;
    }//End
Einen TableSorter habe ich mir auch angebunden. Der funktioniert auch ganz gut. Bei dem was er so macht. Hatte ich mir von folgender Seit besorgt.
http://java.sun.com/docs/books/tutorial/uiswing/components/example-1dot4/TableSorter.java

Tabelle und sortieren nach den Spalten funktioniert. Nun zu meiner Frage: Ich wollte die Eintraege aendern und loeschen. Wenn ich aber die Tabelle einmal sortiert habe, dann stimmt der Index im TableModel nicht mehr mit dem Index meines Vectors überein. Was kann ich machen, damit ich auch noch nach einem sortieren, die Eintraege aendern und loeschen kann. Ich hatte schon ueberlegt, ob ich in die Tabelle einen eindeutigen key nehme und anhand diesem meine Eintraege ändere bzw. loesche, aber das kann ja nicht die Lösung sein?

Mit dem folgenden code besorge ich mir ein Zeile, aber nachdem ich meine Tabelle neu sortiert habe, weiss mein SelectionListener nicht welche neuen Werte in der markierten Zeile stehen.

Code:
	class ListSelectionAdapter implements ListSelectionListener
	{
		/**
		 *<b>Beschreibung:</b> Methode gibt die selektierte Zeile zurueck.
		 */	
	    public void valueChanged(ListSelectionEvent e) {
	        
	    	if (e.getValueIsAdjusting()) return;
				ListSelectionModel lsm = (ListSelectionModel)e.getSource();
			if (lsm.isSelectionEmpty()) {
				
			} else {
				// Selektierte Reihe merken
				selectedRow = lsm.getMinSelectionIndex();
			}
		}
	}

Ich hoffe ich habe mich verständlich ausgedrueckt.
 
Moin,
notfalls mappe Dir doch die Indizes. Merk Dir irgendwie, welche sortierten zu welchen tatsächlichen Indizes gehören.
 
Zurück