class FormulaTableModel extends AbstractTableModel { private Vector rows = new Vector(); private Hashtable lookup; private String[] headers = {"ID","Variable","Pfad","Beschreibung"}; public FormulaTableModel() { } public String getColumnName(int column) { return headers[column].toString(); } public int getRowCount() { return rows.size(); } public int getColumnCount() { return headers.length; } public Object getValueAt(int rowIndex, int columnIndex) { TVariable v = (TVariable)rows.get(rowIndex); switch (columnIndex) { case 0: return new Integer(rowIndex+1); case 1: //Private Strings in anderer Klasse mit die über getFunktionen geholt werden return v.GetName(); case 2: return v.GetPath(); case 3: return v.GetDescription(); } return null; } public void addRow(TVariable v) { rows.add(v); this.fireTableRowsInserted(rows.size()-1, rows.size()-1); } public void removeRow(int row) { rows.remove(row); this.fireTableRowsDeleted(row, row); } public boolean isCellEditable(int row, int col) { //Don´t let the user change the running id if (col < 1) { return false; } else { fireTableRowsUpdated(row,col); return true; } } public void setValueAt(Object value, int row, int col){ //rows [row] [col] = value; //ich verstehs net :-( }