public class Model extends DefaultTableModel{
...
public Class getColumnClass) int column ){
switch( column ){
case 0: return String.class;
...
}
}
}
TableColumn BicColumn = new TableColumn(); // Spaltendefinitionen
TableColumn NameColumn = new TableColumn();
TableColumn TerminColumn = new TableColumn();
TableColumn ProzentColumn = new TableColumn();
TableColumn BemerkungColumn = new TableColumn();
final SokoTable tableModel = new SokoTable(); // Tabellenmodell
JTable jTable = new JTable(tableModel); // Tabelle für die Anzeige der Daten
....
BicColumn.setHeaderValue("BIC"); // Spaltenheader (funzt nicht)
NameColumn.setHeaderValue("Name");
TerminColumn.setHeaderValue("keine Rekla bis");
ProzentColumn.setHeaderValue("min %");
BemerkungColumn.setHeaderValue("Anmerkung");
jTable.setAutoResizeMode( JTable.AUTO_RESIZE_OFF ); // Spaltenbreite (funzt nicht)
BicColumn.setPreferredWidth(90);
NameColumn.setPreferredWidth(150);
TerminColumn.setPreferredWidth(100);
ProzentColumn.setPreferredWidth(50);
BemerkungColumn.setPreferredWidth(200);
tableModel.addColumn(BicColumn); // Spalten übernehmen
tableModel.addColumn(NameColumn); // hätte vermutet, hier muss jTable stehen --> Absturz
tableModel.addColumn(TerminColumn);
tableModel.addColumn(ProzentColumn);
tableModel.addColumn(BemerkungColumn);
...
String[] columnNames = new String[]{"Bic", "Name", "keine Rekla bis", "min %", "Anmerkung"};
SokoTable tableModel = new SokoTable(columnNames); // Tabellenmodell
JTable jTable = new JTable(tableModel); // Tabelle für die Anzeige der Daten
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // Spaltenbreite
jTable.getColumn(columnNames[0]).setPreferredWidth(90);
jTable.getColumn(columnNames[1]).setPreferredWidth(150);
jTable.getColumn(columnNames[2]).setPreferredWidth(100);
jTable.getColumn(columnNames[3]).setPreferredWidth(50);
jTable.getColumn(columnNames[4]).setPreferredWidth(200);
getContentPane().add(new JScrollPane(jTable), BorderLayout.CENTER);
...
class SokoTable extends DefaultTableModel {
SokoTable(String[] columnNames) {
super(null, columnNames);
}
...
}