scrollbars på et JPanel

Tags:    java

jeg vil gerne have scrollbars på et JPanel med gridlayout. problemet er at JPanelt bare bliver "trykket fladt" så scrollbarsne udebliver. min kode ser sådan her ud:
Fold kodeboks ind/udKode 

p.lavPanel() returnere et JPanel. koden til klasssen Person, ser sådan her ud:
Fold kodeboks ind/udKode 


på forhånd tak

adam

Køb en zebra - og kald den plet


[Redigeret d. 27/06-03 20:01:39 af adam]



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Jeg vil mene at problemet ligger i af du ikke direkte sætter din JScrollPane til noget scrollbart. Et JPanel er i den forstand ikke scrollable, hvorimod JTextArea, JList, JTable o.l.



Det er noget af det mærkligste kode jeg nogen sinne har set. Hvad vil du dog med paneler i panel?
Du kan redigere en Label 'on the run', hvis du f.eks har JLabel navnL = new JLabel("Navn: ")
JLabel navnVar = new JLabel(); navnVar.setText("nytNavn");
Nu vel JScrollPane kan settes med size sp.setSize(100, 400), der vil da kun dukke scrollers frem, hvis indholdet kommer til at fylde mere.
Normalt vil man putte et JTextArea ind i JScrollPane(jta) og sette det på JPanel -
JPanel.add(sp = new JScrollPane(jta = new JtextArea));

Nils G H Waale alias nighwa

jeg vil gerne have scrollbars på et JPanel med gridlayout. problemet er at JPanelt bare bliver "trykket fladt" så scrollbarsne udebliver. min kode ser sådan her ud:
Fold kodeboks ind/udKode 

p.lavPanel() returnere et JPanel. koden til klasssen Person, ser sådan her ud:
Fold kodeboks ind/udKode 


på forhånd tak

adam

Køb en zebra - og kald den plet


[Redigeret d. 27/06-03 20:01:39 af adam]

java.jar.jar.jar



Jeg er tilbøjelig til at tro at JPanel automatisk sætter scroll, hvis indholdet bliver for stort, så du han helt udelade JScrollPane, JScrollPane's funktion er at begrænse pladsen, så at man kan have flere componenter på sit JPanel.

Nils G H Waale



Jeg har fundet ud af hvordan man kan lave scrollbars på et JPanel. Man skal lave en viewport, lægge panelet ind i den og så tilføje scrollbars. i kode ser det ca. sådan her ud:
Fold kodeboks ind/udKode 


adam

Køb en zebra - og kald den plet




t