Avatar billede riversen Nybegynder
23. august 2003 - 16:32 Der er 17 kommentarer og
1 løsning

Størrelse på JScrollPane

Jeg har en JScrollPane som driller mig lidt.

Jeg har en JTable som er placeret i en JScrollPane. JScrollPane er som det eneste element placeret i et JPanel. Jeg kan simpelt hen ikke få den til at udfylde JPanel.

Det ser sådan ud:
http://privat.riversen.dk/1.jpg
http://privat.riversen.dk/2.jpg
Avatar billede riversen Nybegynder
23. august 2003 - 16:41 #1
Der er også noget andet jeg undrer mig over

jeg har sat gbc.weightx = 0.65 og gbc.weightx = 0.35 på højre og venstre side, men når jeg resizer bliver kun højre side bredere...hvorfor det? Det er egentlig sådan jeg gerne vil have det, men det giver da ingen mening
Avatar billede riversen Nybegynder
23. august 2003 - 16:51 #2
selvom jeg sætter begge til 1 bliver det ikke ligeligt fordelt...tror der er noget der jeg ikke har forstået korrekt.
Avatar billede _carsten Nybegynder
23. august 2003 - 17:25 #3
Du er ikke den eneste !

Prøv at bruge BorderLayout på det panel:

jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
Avatar billede riversen Nybegynder
23. august 2003 - 17:36 #4
er det ikke også borderlayout der er som standard?
Avatar billede riversen Nybegynder
23. august 2003 - 17:36 #5
og den tilføjer som standard i centrum
Avatar billede riversen Nybegynder
23. august 2003 - 17:37 #6
nej, det er flowlayout :-)
Avatar billede riversen Nybegynder
23. august 2003 - 17:38 #7
tak for det...det kører bare så...læg et svar
Avatar billede riversen Nybegynder
23. august 2003 - 17:40 #8
hvis nu jeg maksimerer så er der ikke nok kolonner i min JTable..har du en fix idé til det...kan jeg sætte den til at sidste kolonne skal tage resterende plads, hvis der er overskydende plads
Avatar billede riversen Nybegynder
23. august 2003 - 17:41 #9
jeg har nemlig slået autoresizemode fra, så man ikke er begrænset til det synlige område
Avatar billede _carsten Nybegynder
23. august 2003 - 17:43 #10
FlowLayout er standard.

I øvrigt m.h.t. gbc.weightx = 0.65 og gbc.weightx = 0.35

Prøv at arbejde i området fra 0.00 til 0.10 - det er sjældent
nødvendigt at gå højere op, og giver en væsentlig blødere
resizing og bedre performance.
Avatar billede riversen Nybegynder
23. august 2003 - 17:45 #11
har fundet ud af det med GridBagLayout i det andet panel
Avatar billede _carsten Nybegynder
23. august 2003 - 17:46 #12
Det må være den her du tænker på

jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN);
Avatar billede riversen Nybegynder
23. august 2003 - 17:47 #13
nej, så er man begrænset til det synlige område
Avatar billede _carsten Nybegynder
23. august 2003 - 17:56 #14
Så er jeg nok ikke med på hvad det er du mener!

Og dog - du kan slå autoresize til, derefter definerer kollonne bredden,
gør automatisk at sidste kolonne optager resterende plads.

Er det hvad du vil ???
Avatar billede _carsten Nybegynder
23. august 2003 - 18:03 #15
Det ville jo også være modstridende, at slå
autoresize fra og derefter bede den resize!
Avatar billede riversen Nybegynder
23. august 2003 - 18:25 #16
hvis du sætter AUTO_RESIZE_OFF kan du resize kolonner så de går udenfor området af jscrollpane...så man skal bruge den horisontale scrollbar for at se de kolonner der er yderst til højre...men hvis nu tabellen er bredere end alle kolonnerne til sammen bliver der et tomt område ude til højre...men skidt med det...det bliver nok ikke aktuelt
Avatar billede _carsten Nybegynder
23. august 2003 - 18:29 #17
Okay - den har jeg ikke lige løsningen på!
Avatar billede riversen Nybegynder
23. august 2003 - 18:31 #18
tro heller ikke det bare lige kan gøres...man skal nok tjekke den samlede bredde på kolonnerne etc.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester