Swing Tabellen Überschrift mit AbstractTableModel
-
Hi ...
Ich Bastel derzeit an einer kleinen Anwendung die mir unter anderem auch
eine "Benutzerliste" ausgeben soll. Die Tabelle an sich funktioniert auch schon,
durch diese Überladung und das redefinieren der Abstrakten Methoden
aus AbstractTableModelpublic String getValueAt(int row, int col) public int getRowCount() public int getColumnCount()
Damit zeichnet mir mein Programm eine Swing Tabelle, leider ohne einen
Tabellen Kopf. In der AbstractTableModel Klasse ist aber bereits zumindest
ein Standard Header definiert in der Methode getColumnName(int col).Auch ein Überladen dieser Methode hilft (wie zu erwarten) nicht.
Das einbinden der Tabelle erfolgt (vereinfacht) so:
myTable = new JTable(); myTable.setModel(new myModel()) //myModel ist von AbstractTableModel abgeleitet myPanel.add(myTable);
Auf dem Panel wird die entsprechende Tabelle auch richtig angezeigt nur eben
ohne Header. Vermutlich habe ich (ist mein erstes swing Projekt)
einfach nur irgend etwas misverstanden oder vergessen und die Code Beispiele
die ich gefunden habe haben mir bis jetzt nur mäßig weitergeholfen.Fällt jemandem was ins Auge?
Gibts ne "Checkliste" an was man bei Tabellen alles denken muss?
Ich wär für jede Hilfe dankbar
-
Ich finde die Swing Tutorials von Sun direkt immer recht hilfreich...
Hier der Link zu "How to use tables":
http://java.sun.com/docs/books/tutorial/uiswing/components/table.htmlGruß
-
Problem Gelöst ... anscheinend besitzt eine Tabelle keinen eigenen Header
sondern dieser wird nur in Verbindung mit einem anderen Anzeigeelement sichtbar.Das Tabelleneinbinden von oben müsste also wie folgt aussehen:
myTable = new JTable(); myTable.setModel(new myModel()) //myModel ist von AbstractTableModel abgeleitet //Tabelle in ein JScrollPane einfügen JScrollPane myPane = new JScrollPane(myTable); //Pane einfügen, ab jetzt wird der Header aus dem Modell mit angezeigt myPanel.add(myPane);
Vielen Dank Powerloop