Hallo Leute
Ich habe ein eigenes TableModel das von der TableModel Klasse ableitet. Die Tabelle selbst ist, mit zwei Spalten, simpel aufgebaut. 1. Spalte = Checkboxen, 2. Spalte = Strings. Eigentlich funktioniert auch alles soweit bis auf die Spaltenheader die nicht angezeigt werden.
Die getCoulumnNames Methode ist überschrieben und sollte eigentlich die richtigen Spaltennamen zurückliefern desshalb verstehe ich nicht warum die nicht angezeigt werden.
Folgendermassen sieht das Model aus:
Ich wäre froh wenn mir da jemand weiterhelfen könnte.
Gruss
Swoop
Ich habe ein eigenes TableModel das von der TableModel Klasse ableitet. Die Tabelle selbst ist, mit zwei Spalten, simpel aufgebaut. 1. Spalte = Checkboxen, 2. Spalte = Strings. Eigentlich funktioniert auch alles soweit bis auf die Spaltenheader die nicht angezeigt werden.
Die getCoulumnNames Methode ist überschrieben und sollte eigentlich die richtigen Spaltennamen zurückliefern desshalb verstehe ich nicht warum die nicht angezeigt werden.
Folgendermassen sieht das Model aus:
Java:
public class CheckBoxTableModelConfig implements TableModel
{
private ArrayList<TableModelListener> listeners = new ArrayList<TableModelListener>();
private ArrayList<Action> mActions = new ArrayList<Action>();
private String[] colNames = {"Box","Actionname"};
public void addAction(Action action)
{
int index = mActions.size();
mActions.add(action);
TableModelEvent e = new TableModelEvent(this, index, index,
TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT);
for(int i = 0, n = listeners.size(); i<n; i++)
{
((TableModelListener)listeners.get(i)).tableChanged(e);
}
}
public int getRowCount() {
return mActions.size();
}
public int getColumnCount() {
return colNames.length;
}
public String getColumnName(int columnIndex) {
return colNames[columnIndex];
}
public Class<?> getColumnClass(int columnIndex) {
switch(columnIndex)
{
case 0: return Boolean.class;
case 1: return String.class;
default: return Object.class;
}
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
switch(columnIndex)
{
case 0: return true;
case 1: return false;
}
return false;
}
public Object getValueAt(int rowIndex, int columnIndex) {
Action action = mActions.get(rowIndex);
switch(columnIndex)
{
case 0: return action.getIsActivated();
case 1: return action.getName();
}
return null;
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
if(columnIndex == 0 && aValue instanceof Boolean)
{
mActions.get(rowIndex).setIsActivated((Boolean)aValue);
}
}
public void addTableModelListener(TableModelListener l) {
listeners.add(l);
}
public void removeTableModelListener(TableModelListener l) {
listeners.remove(l);
}
}
Ich wäre froh wenn mir da jemand weiterhelfen könnte.
Gruss
Swoop