G
Guest
Gast
Hi,
verzweifle hier an einer eigentlich simplen Aufgabe.
Habe hier ein TableModel:
Dieses Model habe ich einer Tabelle zugewiesen:
Wenn ich jetzt versuche, einen Datensatz hinzuzufügen, dann wird dieser nicht in der Tabelle angezeigt:
Was mache ich falsch? Die setValueAt Methode ruft doch fireTableCellUpdated auf...
verzweifle hier an einer eigentlich simplen Aufgabe.
Habe hier ein TableModel:
Code:
public class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"Typ","Alter","Geschlecht","Name"};
private ArrayList<String[]> data = new ArrayList<String[]>();
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.size();
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data.get(row)[col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
return false;
}
public void setValueAt(Object value, int row, int col) {
String[] tmp = data.get(row);
tmp[col] = (String)value;
data.set(row, tmp);
fireTableCellUpdated(row, col);
}
public void addRow(String[] data, int row) {
setValueAt(data[0], row, 0);
setValueAt(data[1], row, 1);
setValueAt(data[2], row, 2);
setValueAt(data[3], row, 3);
}
}
Dieses Model habe ich einer Tabelle zugewiesen:
Code:
MyTableModel model = new MyTableModel ();
JTable hosttable = new JTable(model);
this.add(new JScrollPane(hosttable),BorderLayout.CENTER);
Wenn ich jetzt versuche, einen Datensatz hinzuzufügen, dann wird dieser nicht in der Tabelle angezeigt:
Code:
model.addRow(new String[]{"Asiate","22","m","Max"}, 0);
Was mache ich falsch? Die setValueAt Methode ruft doch fireTableCellUpdated auf...