29. oktober 2003 - 14:20Der er
7 kommentarer og 1 løsning
kolonner og bredde af disse i en jTable
Hej!
jeg har en jTable med en række kolonner i. Disse kolonner skal have en bredde der passer til den String der står i headeren. Jeg har prøvet med sizeWidthToFit() men ku ikke få den til at virke (manglede et eller andet med TableHeaders som jeg ikke fattede) derefter prøvede jeg med doLayout() som API'en selv foreslår men det virkede heller ikke :( Altså hvordan får jeg bredde af mine kolonner til at passe med det der står i headeren?
Når dette problem er løst kommer et nyt frem :) Jeg har nemlig min jTable inde i en JScrollPane og denne JScrollPane skulle gerne være ligeså bred som tabellen. Hvordan fikser jeg dette?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
int width = 0; for(int i = 0; i < jTable1.getColumnCount(); i++){ column = jTable1.getColumnModel().getColumn(i); int x = doTableStuff(i) + 4; column.setPreferredWidth( x ); width += x; } setScrollPaneSize(width); }
private void setScrollPaneSize(int width){ javax.swing.JScrollBar scrollBar = jScrollPane1.getVerticalScrollBar(); java.awt.Insets insets = jScrollPane1.getInsets(); int left = insets.left; int right = insets.right; int totalWidth = width + left + right; jTable1.setPreferredScrollableViewportSize(new Dimension(totalWidth, 50)); }
Selvfølgelig virker sizeWidthToFit(), men den kræver at din header renderer ikke er null, da default er null, skal du altså selv strikke noget sammen, om det er MEGET nemmere ved jeg ikke, men du kan da arbejde lidt med det.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.