2012-11-02 17 views
6

Ho passato un po 'di tempo a cercare questo e ho trovato solo il codice GroupableHeader. Ho bisogno di un'intestazione su 2 colonne in una colonna 2 JTable. Come si può fare senza l'uso del famigerato GroupableHeader, mantenendo l'aspetto predefinito di `JTableHeader?Can `JTableHeader` si estende su più colonne?


Questa è una rappresentazione grafica di quello che ho in mente:

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

Questo potrebbe aiutare: http://stackoverflow.com/questions/146498/jtable-column-spanning –

+0

@DanIliescu E 'su come occupare le colonne. Devo estendere solo l'intestazione. – Igor

+1

+1 per ASCII art – mKorbel

risposta

3

Dipende da quello eaxctly si vuole raggiungere.

Ho fatto qualcosa di simile creando il mio JTableHeader, che era essenzialmente solo un JPanel.

Su di esso ho posizionato le intestazioni "di gruppo" nella riga superiore, sopra le colonne che volevo "raggruppare".

Quindi ho barato e ho utilizzato l'intestazione della riga delle tabelle esistenti e l'ho aggiunto alla seconda riga sotto l'intestazione.

Questo richiede un po 'di mano, in quanto è necessario conoscere le colonne che si desidera raggruppare/span e le loro larghezze. È inoltre necessario monitorare le modifiche nella loro larghezza e aggiornare l'intestazione in modo appropriato.

La maggior parte delle implementazioni che ho visto utilizzano la propria implementazione dell'interfaccia utente, personalmente non mi piace perché annulla il lavoro dell'aspetto e dell'aspetto che si sta utilizzando.

Si potrebbe dare un'occhiata a this che dimostra un numero di cose interessanti che si possono fare con JTable s come spanning multi-colonna, ma ancora una volta, sta usando la propria interfaccia utente per farlo funzionare.

L'implementazione che abbiamo iniziato a utilizzare al lavoro funziona nello stesso modo e il problema che ho con esso è che è possibile vedere il cursore di ridimensionamento del mouse all'interno dell'intestazione del gruppo, che, per me, non è proprio quello che vuole all'utente di vedere

+0

La tua risposta sull'intestazione Label risolve anche questo. Grazie. – Igor

+0

il collegamento è inattivo – Robert

+1

@Robert [Questa è una versione avanzata] (https://stackoverflow.com/questions/20206578/show-column-header-on-dragging-column/20208995#20208995) – MadProgrammer

Problemi correlati