Daten in JTable ausgeben

MD83

Grünschnabel
Hallo! Kann mir bitte jemand weiter helfen?
Zu meinem Programm: daten werden in eine ArrayList geschrieben, welche in eine Textdatei gespeichert wird (funktioniert). Daten aus der Datei hochladen kann ich auch .
Mein Problem: was ich nicht kann diese Daten in einer JTable ausgeben.
Brauche ich die Methode fireTableDataChanged() dazu?

public class Tabelle extends JFrame {

public static JTable table;
TModel model;

class TModel extends AbstractTableModel{
private String[] spalten = {"Kundennummer", "Kundenname", "Bezeichnung", "Menge", "Preis"};
ArrayList list = new ArrayList();

public String getColumnName(int col) {
return spalten[col];
}

public int getRowCount() {
return list.size();
}

public int getColumnCount() {
return spalten.length;
}
public boolean isCellEditable(int row, int col) {
return false;
}
public Object getValueAt(int row, int col) {
Auftrag a2 = (kundenauftrag.Auftrag)list.get(row);
switch (col){
case 0:
return a2.getNR();
case 1:
return a2.getName();
case 2:
return a2.getBezeichnung();
case 3:
return a2.getMenge();
case 4:
return a2.getPreis();
default:
return null;
}
}
public void setValueAt(Object value, int row, int col){
Auftrag auftrag = (Auftrag) list.get(row) ;//? Warum cast zu Auftrag?
switch (col){
case 0:
auftrag.setNR((String)value);
break;
case 1:
auftrag.setName((String)value);
break;
case 2:
auftrag.setBezeichnung((String)value);
break;
case 3:
auftrag.setMenge((String)value);
break;
case 4:
auftrag.setPreis((String)value);
break;
default:
}

}


}



public Tabelle(){
super ("Tabelle");
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setSize(400,200);
model =new TModel();
table = new JTable(model);

add(table,BorderLayout.CENTER);
JScrollPane scrollpane = new JScrollPane(table);
add (scrollpane);




JPanel buttonPanel = new JPanel();
buttonPanel.setLayout (new FlowLayout (FlowLayout.CENTER));
add(buttonPanel, BorderLayout.SOUTH);



JButton schliessen = new JButton("Schließen");
buttonPanel.add(schliessen);
JButton loeschen = new JButton("Löschen");
buttonPanel.add(loeschen);

}
public static void main(String[] args) {
new Tabelle().setVisible(true);
}
 
Zuletzt bearbeitet:
Zurück