[Java lista] swing dialog meretenek automatizalasa
Andras Dobrosi
dobrosi at gmail.com
2007. Jan. 22., H, 10:18:21 CET
Szia!
A pack() metodus a te baratod.
Andris
On 1/22/07, istvan.ketler at lhsystems.com <istvan.ketler at lhsystems.com> wrote:
>
> > egyszeru dialog (BorderLayout), benne ket masik panel (NORTH,SOUTH).
> > A felsoben az elemek, az alsoban ket gomb (OK,Cancel)
> > Midketto GridbagLayout. Minden elemnek csak az inset
> > parametereit allitgatom, meretet sehol sem. Eclipse Visual
> > Editorral csinaltam.
>
> Izééé... Ezt hogy érted? Mert ismereteim szerint az insets property az AWT
> konténerek esetén read-only, így módosítása csak a getInsets()
> újradefiniálásával lehetséges. Ezen pedig a swing sem változtatott. Amúgy
> sem értem, hiszen az insets nem a komponens méretét vezérli, csupán a köré
> írt üres hely nagyságát.
>
> Ráadásul azt állítják, hogy "Swing components do not override
> getInsets()". (Kivéve a JViewport-ot, mivel ő nem enged magára bordert
> tenni, ezért ezt a metódust is override-olja). Azt is mondják, hogy "custom
> components built using Swing should follow suit". Röviden: a swing
> komponensek nem definiálják újra ezt a metódust, és a saját komponenseknek
> sem kellene. Amúgy a swing a border-t használja erre a célra, és amikor
> megkérdezik tőle a getInsets() méretet, akkor a border insets-et adják
> vissza a swing komponensek. Így lehet kívülről állítani az insets-ét (
> tul.képpen a setBorder-rel).
>
> Másrészt a layout manager-ek - már amelyiket érdekli - pont a (preferált)
> méretet kérdezik le, és annak alapján méreteznek. Ha pedig azt nem
> változtatod, csak az insets-et, akkor előállhat az a helyzet, hogy beállítja
> mondjuk a gombot a preferált méretére, leveszi belőle az insets-et, és a
> maradék kicsi helyre próbálja meg kiírni a komponenst...
>
> Mindenesetre ha rugalmas layout manager-t akarsz, akkor a formlayout nekem
> nagyon bejön. (Igaz, hogy nem kedvelem a GUI editorokat, és kézzel rakom
> össze a paneljaimat, szóval könnyű nekem kedvelni a jó, értsd ember által
> megérthető és használható layout manager-eket...) Filozófiáját tekintve
> némileg emlékeztet a GridBagLayout-ra.
>
> Tulajdonképpen van egy rácsod, minden cellájára megmondhatod, hogyan
> akarod benne igazítani a komponenst, és hogyan akarod méretezni. Ez
> megadható sorra és oszlopra általánosan, de bármelyik cella esetén
> felülírható. Egy cellában csak egy elem lehet; bármely elem kiterjedhet több
> oszlopra vagy sorra (több cellát foglal el). Létezik rövid (string-es)
> inicializálása is, de szerintem az később nehezen olvasható; nekem egy
> bőbeszédűbb módszer jön be jobban (egymás után "hozzáadom" az oszlopokat és
> sorokat a layout-hoz - vagyis definiálom ezeket, majd a panel-hez
> hozzáadáskor sorra hozzárendelem a komponenseket a megfelelő cellákhoz).
>
> http://www.jgoodies.com/freeware/forms/
>
> Készíthetsz mondjuk olyan oszlopokat, amelyek szélessége a bennük lévő
> legszélesebb komponens méretével egyezik meg (preferred size-ot kérdez
> tőlük). Ezek a komponensek lehetnek valamerre igazítva ezen a szélességen
> belül, de ki is töltetheted velük a rendelkezésre álló helyet. Ugyanez
> sorokra is igaz, persze értelemszerűen "magasság" áll a "szélesség" helyén.
>
> Egyébként ha időd engedi, érdemes belepillanatani, eseteg később
> megfontolni a megvásárlását. Szerintem érdekes olvasmány mindkettő. Ha sokat
> kell GUI-t tervezned, és internacionalizálnod, akkor különösen megéri.
> (Online olvasható, vagy könyvként megvásárolható):
>
> http://java.sun.com/products/jlf/
>
> Üdvözlettel,
>
> Iván
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070122/6c4e8be0/attachment-0001.html
További információk a(z) Javalist levelezőlistáról