class Model extends AbstractTableModel{
private Class[] classes;
private db datenbank = new db();
private int spalte= datenbank.getfeldanzahl();
private int zeile= datenbank.getzeihlenzahl();
private String[] spaltentitel = new String[spalte-1];
private Object[][] tabinhalt = new Object [zeile][spalte-1];
public Model(){
classes = new Class[spalte];
for(int z = 0;z<spalte;++z)
{
classes[z] = String.class;
}
for(int j = 0;j<zeile;++j)
{
for(int i = 0;i<spalte;++i)
{
tabinhalt[j][i] = datenbank.getInhalt(i+1,j+1);
}
tabinhalt[j][spalte] = false;
}
}
public boolean isCellEditable(int rowIndex, int columnIndex)
{
return rowIndex < zeile&& columnIndex <= spalte-1;
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
{
Object value = (Object)aValue;
tabinhalt[rowIndex][columnIndex] = value;
fireTableDataChanged();
}
public int getColumnCount(){
return spalte-1;
}
public int getRowCount(){
return zeile;
}
public String getColumnName(int column){
for(int i=0; i<= spalte-1; ++i)
{
spaltentitel[i] = datenbank.getSpaltenName(i+1);
}
return spaltentitel[column];
}
public Object getValueAt(int rowindex, int columnindex){
return tabinhalt[rowindex][columnindex];
}
public Class getColumnClass(int columnindex){
return classes[columnindex];
}
}