Gå til innhold

Kolonne-bredde i DefaultTableModel


Anbefalte innlegg

Skrevet (endret)

Jeg lurer på om det er mulig å definere bredden på kolonnene i en DefaulTableModel. Slik det er nå blir bredden satt automatisk, og alle kolonnene blir like brede, selv om enkelte rader gjerne inneholder mer data enn kolonnene er bred, altså dataene blir ikke vist skikkelig hvis man ikke selv endrer bredden manuelt.

 

modell = new DefaultTableModel();
tabell = new JTable(modell);

modell.addColumn("Kol. 1");
modell.addColumn("Kol. 2");
modell.addColumn("Kol. 3");
modell.addColumn("Kol. 4");

add(new JScrollPane(tabell));

Endret av remi sture
Videoannonse
Annonse
Skrevet

Tre properties i TableColumn lar deg påvirke bredden: preferredWidth, minWidth, maxWidth (og forsåvidt resizable)

Eks:

modell.getColumn(0).setMinWidth(20);
modell.getColumn(0).setPreferredWidth(30);
modell.getColumn(0).setMaxWidth(40);

Skrevet

Du setter ikke bredden i TableModel. TableModel inneholder kun Data (Modellen). Bredden setter du i selve JTable:

 

TableColumn column = myTable.getColumnModel().getColumn(i);
column.setPreferredWidth((configTable.getWidth())/model.getColumnCount());

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...