/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
NEWBIE: Problemer med layout
Fra : Kasper M


Dato : 07-03-01 22:58

Jeg har lavet en applikation i java og brugt awt. Jeg har dog
afskyelig mange problemer med det designmæssige... Jeg bruger
GridBagLayout, og ved mine JLists ændrer højden sig efter hvor meget
data der er i, og i min TextAreas ændres størelsen alt efter hvor
meget man smider i det?!

Er der nogle simple måder at lave det så det har den størelse man
oprindeligt giver det, og ikke ændrer sig med teksten deri?! (eller er
det lettere at bruge en anden layout manager)

Jeg er på kanten af selvmord, så alt hjælp er værdsat!

Kasper

(Hvordan fungerer GridBagConstraints insets egentlig... jeg kan ikke
få det til at virke med den, og fatter ikke hvad der står i suns API
Specification?!)

 
 
Lars Dam (08-03-2001)
Kommentar
Fra : Lars Dam


Dato : 08-03-01 10:24

On Wed, 07 Mar 2001 21:57:55 GMT, berlinerwurst@yahoo.com (Kasper M)
wrote:

>Jeg har lavet en applikation i java og brugt awt. Jeg har dog
>afskyelig mange problemer med det designmæssige... Jeg bruger
>GridBagLayout, og ved mine JLists ændrer højden sig efter hvor meget
>data der er i, og i min TextAreas ændres størelsen alt efter hvor
>meget man smider i det?!
>
>Er der nogle simple måder at lave det så det har den størelse man
>oprindeligt giver det, og ikke ændrer sig med teksten deri?! (eller er
>det lettere at bruge en anden layout manager)
>
>Jeg er på kanten af selvmord, så alt hjælp er værdsat!

Så må vi hellere hjælpe...

Din JList ændrer sig, fordi størrelsen afhænger af indholdet. For at
give listen en fast størrelse, så brug jlist.setMinimumSize() og
jlist.setMaximumSize(), eller jlist.FixedCellWidth() /
jlist.FixedCellHeight() / jlist.VisibleRowCount().

>Kasper

vh. ld

>(Hvordan fungerer GridBagConstraints insets egentlig... jeg kan ikke
>få det til at virke med den, og fatter ikke hvad der står i suns API
>Specification?!)

GBL spørger hvor stor din komponent er, og giver plads til din
komponents størrelse + insets.

dvs. at hvis din komponent er 100x100 pixels, og dine insets er
5,10,15,20, så reservere GBL (5+100+15)x(10+100+20) = 120x130 pixels
til din komponent, og din komponent bliver placeret i 5,10 positionen
i det felt der fylder 120x130. Dvs. at der kommer en tom 'ramme'
omkring din komponent i forhold til de andre, der er hhv. 5,10,15,20
bred på hver af de fire leder.

Det er bare det, at dette er _minimums_ størrelsen, så gbl kan finde
på at give dig mere plads, hvis der mere plads, og der ikke er andre
komponenter der vil have den overskydende plads.

Normalt bruger man insets til f.eks. at space komponenter med 2 pixels
mellemrum, men man kan f.eks. bruge dem til at få komponenter til at
overlappe. Forestil dig at du har to text fields over hindanden:

+-----------+
|textfield 1|
+-----------+
+-----------+
|textfield 2|
+-----------+

Det ser ikke så kønt ud, da der er to kanter lige over hindanden
(Imellem de to komponenter). Så hvis man bruger en inset på (0,-1,0,0)
på den nederste komponent vil det komme til at se sådan ud:

+-----------+
|textfield 1|
+-----------+
|textfield 2|
+-----------+

Måske lidt pænere, men man skal så også sørge for at have en pæn
border som kan tåle at blive overlappet, uden at den bliver grim
(f.eks. lineborder).

vh. ld



--
"Time is the fire in which we burn"

Kasper M (08-03-2001)
Kommentar
Fra : Kasper M


Dato : 08-03-01 15:25

Takker mange gange.... Så kan selvmordet vist vente lidt endnu?!
:)

Kasper

Thorbjørn Ravn Ander~ (08-03-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 08-03-01 10:18

Kasper M wrote:
>
> Jeg har lavet en applikation i java og brugt awt. Jeg har dog
> afskyelig mange problemer med det designmæssige... Jeg bruger
> GridBagLayout, og ved mine JLists ændrer højden sig efter hvor meget
> data der er i, og i min TextAreas ændres størelsen alt efter hvor
> meget man smider i det?!

Put dem i et Panel og put det panel i din Frame.

--
Thorbjørn Ravn Andersen "...sound of...Tubular Bells!"
http://bigfoot.com/~thunderbear

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste