2012-11-02 16 views
6

Spędziłem trochę czasu, szukając tego i znalazłem tylko kod GroupableHeader. Potrzebuję jednego nagłówka nad 2 kolumnami w 2 kolumnach: JTable. Jak można to zrobić bez użycia niesławnego GroupableHeader, zachowując domyślny wygląd `JTableHeader?Czy `JTableHeader` może rozciągnąć się na wiele kolumn?


Jest to graficzne reprezentacje, co mam na myśli:

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

To może pomóc: http://stackoverflow.com/questions/146498/jtable-column-spanning –

+0

@DanIliescu Chodzi o sposób, aby obejmowały kolumn. Muszę objąć tylko nagłówek. – Igor

+1

+1 dla ASCII art – mKorbel

Odpowiedz

3

To zależy co eaxctly chcesz osiągnąć.

Zrobiłem coś podobnego, tworząc własny JTableHeader, który był w zasadzie tylko JPanel.

Na nim umieściłem nagłówki "grupowe" w górnym rzędzie, nad kolumnami, które chciałem "zgrupować".

Następnie oszukałem i użyłem istniejącego nagłówka wiersza tabeli i dodałem go do drugiego wiersza poniżej nagłówka.

Wymaga to odrobinę ręki, ponieważ musisz znać kolumny, które chcesz zgrupować/rozstawić i ich szerokości. Należy również monitorować zmiany szerokości i odpowiednio aktualizować nagłówek.

Większość implementacji, które widziałem, wykorzystuje własne implementacje interfejsu użytkownika, osobiście nie podoba mi się to, ponieważ cofa działanie wyglądu i stylu, którego używasz.

Możesz rzucić okiem na this, który pokazuje wiele interesujących rzeczy, które możesz zrobić z JTable s, a także obsługuje wiele kolumn, ale znowu używa własnego interfejsu do uruchomienia.

Implementacja, z której zaczynamy korzystać w pracy działa w taki sam sposób, a problem z nią związany polega na tym, że można zobaczyć kursor myszy w nagłówku grupy, co nie jest dla mnie tym, czym użytkownik chce zobaczyć

+0

Twoja odpowiedź na temat nagłówka Label rozwiązuje ten problem. Dzięki. – Igor

+0

łącze jest wyłączone – Robert

+1

@Robert [To jest ulepszona wersja] (https://stackoverflow.com/questions/20206578/show-column-header-on-dragging-column/20208995#20208995) – MadProgrammer