2012-11-02 15 views
6

Ich habe ziemlich lange nach diesem gesucht und ich habe nur den GroupableHeader Code gefunden. Ich brauche einen Header über 2 Spalten in einer 2-Spalte JTable. Wie kann dies ohne die Verwendung der berüchtigten GroupableHeader, unter Beibehaltung der Standard-Look & Feel der `JTableHeader?Kann `JTableHeader` sich über mehrere Spalten erstrecken?


Dies ist eine grafische Darstellung von dem, was ich im Sinn haben:

_________________________ 
|  Table Header  | 
|-----------------------| 
|   |   | 
|-----------|-----------| 
|   |   | 
|-----------|-----------| 
+0

das könnte Sie sehen helfen: http://stackoverflow.com/questions/146498/jtable-column-spanning –

+0

@DanIliescu Es geht darum, wie Spalten zu überbrücken. Ich muss nur den Header überspannen. – Igor

+1

+1 für ASCII-Art – mKorbel

Antwort

3

Dies hängt davon ab, was eaxctly Sie erreichen wollen.

Ich habe etwas ähnliches getan, indem ich meinen eigenen JTableHeader, der im Wesentlichen nur ein JPanel war.

Darauf legte ich "Gruppen" -Kopfzeilen in der obersten Reihe, über die Spalten, die ich "gruppieren" wollte.

Dann habe ich betrogen und verwendet die vorhandene Tabellen Zeile Header und fügte sie in die zweite Zeile unter der Überschrift.

Dies erfordert ein wenig von Hand, wie Sie die Spalten wissen müssen, die Sie/Spanne und ihre Breiten gruppieren möchten. Sie müssen auch auf Änderungen in ihren Breiten überwachen und den Header entsprechend aktualisieren.

Die meisten der Implementierungen, die ich gesehen habe, verwenden ihre eigene UI-Implementierung, persönlich mag ich das nicht, da es die Arbeit des Look and Feel, das Sie verwenden, rückgängig macht.

Sie könnten einen Blick auf this, die eine Reihe von interessanten Dingen zeigt, die Sie mit JTable s sowie mehrspaltige Spanning tun können, aber wieder, es ist mit seiner eigenen Benutzeroberfläche, um es zum Laufen zu bekommen.

Die Implementierung, die wir bei der Arbeit verwenden, funktioniert auf die gleiche Weise und das Problem, das ich damit habe, ist, dass Sie den Mauszeiger innerhalb der Gruppenkopfzeile sehen können, was für mich nicht wirklich das ist der Benutzer möchte

+0

Ihre Antwort auf den Label-Header löst diese auch. Vielen Dank. – Igor

+0

der Link ist down – Robert

+1

@Robert [Dies ist eine erweiterte Version] (https://stackoverflow.com/questions/20206578/show-column-header-on-dragging-column/20208995#20208995) – MadProgrammer

Verwandte Themen