Frage zum TableModel

floggie

Mitglied
Hallo zusammen,

Ich habe eine kleine Frage zum AbstractTableModel. Sie lautet:
Wo bringe ich in meinem Model die 'columnNames' Information unter?

Da dies mein erstes TableModel ist ist jegliche Anregung bzgl. Sinn oder Unsinn meines Models willkommen :-)

Grüße
floggie


Code:
public class MyTableModel extends AbstractTableModel{

	private int size;
	private int colCount;
	private int rowCount;
	private Object[][] data;
	private String[] columnNames;
	
	public MyTableModel(String[] columnNames, int size)
	{
		this.data = new Object[size][columnNames.length];
		this.size = size;
		this.colCount = columnNames.length;
	}
	
	public int getRowCount() {
		// TODO Auto-generated method stub
		
		return this.size;
	}

	public int getColumnCount() {
		// TODO Auto-generated method stub
		return this.colCount;
	}
	
	public Object getValueAt(int arg0, int arg1) {
		// TODO Auto-generated method stub
		return this.data[arg0][arg1];
	}
	
	public void setValueAt(Object value, int rowIndex, int colIndex)
	{
		if(colIndex == 5)
			this.data[rowIndex][colIndex] = (Boolean)(value);
		else
			this.data[rowIndex][colIndex] = value;
		fireTableCellUpdated(rowIndex, colIndex);
	}
	
	public Class getColumnClass(int columnIndex)
	{
	    //jCheckBox
		if(columnIndex == 5 || columnIndex == 6)
	    	return Boolean.class;
	    else
	    	return super.getColumnClass(columnIndex);
	}

}
 
Hallo Floggie,

erweitere deine String Variable einfach um Inhalte wie z. B.

// Tabellenüberschriften festlegen
String columnNames[] = {
"Warengruppe", "Bezeichnung", "angelegt", "geändert", "Loekz", "Satznummer"
};


dann sollten die Überschriften in deiner Tabelle erscheinen.

Gruß

Harald
 
Hi,

Ich will ja nun aber gerade nicht vorher festlegen wie die Spalten meiner Tabelle heissen. Habe jetzt aber die Lösung gefunden:
Einfach die Methode 'getColumnName' hinzufügen
Code:
public String getColumnName(int col)
	{
		return columnNames[col];
	}

Grüsse

floggie
 
Zurück