Hallo,
ich habe eine JTable mit 3 Spalten und variabler Zeilenanzahl. Das Tablemodel sieht follgendermaßen aus:
ich habe eine JTable mit 3 Spalten und variabler Zeilenanzahl. Das Tablemodel sieht follgendermaßen aus:
Java:
class PaymentTableModel extends AbstractTableModel{
private String[] colNames = {"Anzahl","Ergebniss","Wert"};
private ArrayList<JFinalPayment> modelList = new ArrayList();
public int getRowCount() {
return modelList.size();
}
public int getColumnCount() {
return 3;
}
@Override
public String getColumnName(int columnIndex) {
return colNames[columnIndex];
}
public Object getValueAt(int rowIndex, int columnIndex) {
JFinalPayment fp = modelList.get(rowIndex);
switch (columnIndex){
case 0 : return fp.getPaymentcount();
case 1 : return fp.getPaymentvalue();
case 2 : return fp.getTestvalue();
default : return null;
}
}
public void addFinalPayment(JFinalPayment fp){
modelList.add(fp);
}
public JFinalPayment getFinalPaymentat(int index){
return modelList.get(index);
}
public void removeFinalPayment(JFinalPayment fp){
modelList.remove(fp);
}
public void removeAll(){
modelList.clear();
}
}
[/Java]
Prinzipiel funktioniert das auch alles schon ganz gut, aber irgendwie scheine ich ein Attribut der Tabelle falsch gesetzt zu haben. Wenn ich neue Zeilen der Tabelle hinzufügen möchte und schon 4 vorhanden sind, dann werden diese nicht angezeigt... solange bis ich eine andere Zeile lösche. Und wenn ich so viele Zeilen lösche, das weniger als 4 Zeilen da sind, dann bleibt der Bereich, wo vorher die 4te Zeile war weiß. Also als wenn irgendwo fest eingestellt wäre, dass immer genau 4 Zeilen angezeigt werden sollen.
Hat da jemand einen Tip?
Zuletzt bearbeitet: