Toon posts:

Java: JTable, geen column headers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik in de applicatie die ik aan het bouwen ben een JTable gekoppeld aan een zelfgemaakt datamodel. En nu heb ik het probleem dat de Table de columnheaders niet laat zien. De namen worden wel netjes uit het datamodel gevist maar er gebeurd gewoon nix mee. Als ik de hoogte van de header opvraag zegt hij ook vrolijk "0" en resizen werkt niet. Standaard hoort zo'n tabel toch de headers te laten zien :?

Als ik de tabel een simpel array(en array met titels uiteraard) uit het javavoorbeeld laat tonen krijg ik de headers nog niet te zien, terwijl ze in het voorbeeld wel getoond worden. Ik snap er nix van 8)7

En de Java docs vertellen hier echt helemaal nix over, ik hoop dat iemand mij kan helpen.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

jouw probleem: jij zet eerst de table in de scrollpane en daarna de tablemodel bij de table.
oplossing: eerst tablemodel in de table, daarna table in de scrollpane.
oorzaak: als je table in scrollpane zet, wordt een columnheadermodel opgezet. Bij een lege tafel is deze leeg (zit een lege model in), en deze columnheadermodel zal niet meer worden aangepast als jij een nieuwe tablemodel erin zet.

en ik ben het helemaal met je eens dat dit wazig is :) En dat je in het begin uren loopt te zoeken :)

  • VinnieM
  • Registratie: September 1999
  • Laatst online: 29-11-2024
Hmm..dit is een paar weken terug ook al eens langsgekomen. Het punt is dat de header een apart component is dat je zelf moet toevoegen aan een container. De Java docs vertellen er trouwens WEL wat over, kijk maar eens bij javax.swing.JTable. Daar staat oa. dit:
Note that if you wish to use a JTable in a standalone view (outside of a JScrollPane) and want the header displayed, you can get it using getTableHeader() and display it separately.
Je moet dus de header ophalen uit de table en die toevoegen aan de container.

Verwijderd

Topicstarter
Thanx guys _/-\o_, het lag dus aan de scrollPane :) Maar ik blijf het wazig vinden, ik heb nog nooit een component gezien dat op deze manier werkt :?

  • VinnieM
  • Registratie: September 1999
  • Laatst online: 29-11-2024
Waarschijnlijk omdat je niet wilt hebben dat de header ook meescrollt, lijkt me niet zo handig :)