JTable

mamilo

Grünschnabel
Hallo,
ich habe ein Problem mit meiner Tabelle (JTable). Sie enhält eine Liste von Objekten und einige Zellen sind editierbar. Wenn ich eine Zelle z1 mit Wert 1 ändere, ändern sich auch alle Zellen zi, die den Wert 1 haben. Ich weiß nicht woran es liegt.
Kann jemand mir helfen?
Grüße,
mamilo
 
Moin!
Wenn du vielleicht mal den relevanten quellcode posten würdest, könnte man sicher einfacher überprüfen woran es denn liegt.

*grüssle*
MeinerEiner
 
Hallo,
ist der Quellcode:

package de.saarstahl.travisgui.schichtwechsel;

import java.util.List;

import javax.swing.table.DefaultTableModel;

import de.saarstahl.common.util.formatter.SagTimestamp;
import de.saarstahl.travisgui.model.*;

/**
* Diese Klasse repräsentiert das Tablemodell von FehlVBZKorMaske
* @author Gonsu
*
*/
public class TableModelFehlVBZKor extends DefaultTableModel{
// ~ Instance variables ·······················································

private List fehlVBZListe;
private String[] spaltenNamen;



//~ Constructors ·····························································

/**
* erzeugt ein neues TableModelFehlVBZKor-Objekt.
*
* @param fehlVBZWagenListe
* @param spaltenNamen
*/
public TableModelFehlVBZKor(List fehlVBZWagenListe,String[] spaltenNamen)
{
super(0, 6);

this.fehlVBZListe = fehlVBZWagenListe;
this.spaltenNamen = spaltenNamen;


}


/**
* Beschreibung
*
* @param index
*
* @return
*/
public List getWaggonEndzielList()
{
return fehlVBZListe;
}
/**
* Beschreibung
*
* @param index
*
* @return
*/
public WaggonEndziel getWaggonEndzielAt(int index)
{
return (WaggonEndziel) fehlVBZListe.get(index);
}

/**
* Beschreibung
*
* @param row
* @param column
*
* @return
*/
public boolean isCellEditable(int row, int column)
{
if ( column == 0 || column == 5 )
return false;
else
return true;

}

/**
* Beschreibung
*
* @param column
*
* @return
*/
public String getColumnName(int column)
{

return spaltenNamen[column];

}

/**
* Beschreibung
*
* @return
*/
public int getRowCount()
{
if (fehlVBZListe == null)
return 0;
else

return fehlVBZListe.size();
}

/**
* Beschreibung
*
* @param aValue
* @param row
* @param column
*/
public void setValueAt(Object aValue, int row, int column)
{
WaggonEndziel we = (WaggonEndziel) fehlVBZListe.get(row);

switch(column)
{

case 1:
we.setLadKenn((String)aValue);
break;
case 2:
we.getGutart().setNr((String)aValue);
break;
case 3:
we.getAbsender().setNr((String)aValue);
break;
case 4:
we.getEmpfaenger().setNr((String)aValue);
break;
}
fireTableCellUpdated(row, column);
}

/**
* Beschreibung
*
* @param row
* @param column
*
* @return
*/
public Object getValueAt(int row, int column)
{
WaggonEndziel we = (WaggonEndziel) fehlVBZListe.get(row);
Object result = "";

switch(column)
{

case 0:
if(we.getWaggonnummer().length()>3)
result= we.getWaggonnummer()+"-"+we.getPruefziffer();

else
result= we.getWaggonnummer();
break;
case 1:
result= we.getLadKenn();
break;
case 2:
result= we.getGutart().getNr();
break;
case 3:
result= we.getAbsender().getNr();
break;
case 4:
result= we.getEmpfaenger().getNr();
break;
case 5:
try{
result= Helper.formatTimestamp(we.getEingDatZeit(),16);

break;

}catch(Exception e){}
}

return result;
}



/**
* Aktuallisiert die Liste in das Tablemodel
*
* @param newList
*/
public void updateTModel(List newList)
{
this.fehlVBZListe = newList;
fireTableDataChanged();
}

/**
* löscht alle
*
* @param list
*/
public void removeAll(List listToRemove)
{
fehlVBZListe.removeAll(listToRemove);
fireTableDataChanged();
}

/**
* Aktuallisiert die Liste in das Tablemodel
*
* @param list
*/
public void removeRow(int row)
{
this.fehlVBZListe.remove(row);
fireTableDataChanged();
}






}
 
Zurück