JTable - Überschriften erscheinen trotz ScrollPane nicht

teppi

Erfahrenes Mitglied
Hallo, ich werd hier langsam irre ...

Ich hatte vorher JTables die ohne TableModels arbeiteten und auch funktionierten. Mittlerweile habe ich ein funktionierendes Datenmodell erstellt. Die Daten werden auch richtig angezeigt. Aber irgendwie krieg ich es nicht hin, dass die Spaltennamen angezeigt werden. Die Tabelle liegt in einem ScrollPane. Somit ist dieser Grund auszuschließen und nun weiß ich nicht mehr so recht weiter.

Ich habe folgende TableModel Klasse in welcher auch die Spaltennamen definiert werden:

Code:
class MyTableModel extends AbstractTableModel {
	String[] columnNames = {"Default"};
	Object[][] data = {{"leer"},{"leer"}};
    
    public MyTableModel(DbData Ressource,int id){
    	switch (id) {
    		case 1: String[] columnNamesConstr = {"1", "2", "3", "4" , "5" , "6","7"};
    		this.columnNames = columnNamesConstr; 
    		System.out.println("Switch");
    		break;
    	}
    	
    	Object[][] dataConstr = Ressource.getSpielerdaten();
        System.out.println(dataConstr[0][0]);
        this.data = dataConstr;
    }
    
    public int getColumnCount() {
        return columnNames.length;
    }

    public int getRowCount() {
        return data.length;
    }

    public String getColumnName(int col) {
        return columnNames[col];
    }

    public String[] getTableHeader() {
        return columnNames;
    }
    
    public Object getValueAt(int row, int col) {
        return data[row][col];
    }

    public Class getColumnClass(int c) {
        return getValueAt(0, c).getClass();
    }
}

In meinem Programm wird an folgender Stelle die Tabelle in ein TabbedPane eingefügt:

Code:
		// Tabelle mit Accountdaten
		MyTableModel einTableModel = new MyTableModel(CDbData,1);
		JTable eineTabelle = new JTable(einTableModel);
		ScrollPane einAccountScrollPane = new ScrollPane();
		einAccountScrollPane.add(eineTabelle);
    	        tabbedPane.addTab("Blabla", einAccountScrollPane);

Die Daten erscheinen und auch die Anzahl der Spalten stimmt überein. Ich weiss nicht mehr weiter ! Hilfe !

Danköö :) ...
 
Einer JScrollPane übergibt man eine Komponente nicht mit add(), sondern mit setViewportView(Component view) oder gleich im Konstruktor als Parameter.
 
Vielen Dank ...

Jetzt wo ich nochmal drüber nachdenke ist das mit add() natürlich völlig hohl von mir gewesen :D ..

Es geht .. Juhu !
 
Zurück