A TableWrapLayout egy rácsalapú, az SWT sokoldalú GridLayout elrendezéséhez hasonló elrendezés. Annyiban különbözik tőle, hogy az által használt elrendezési algoritmus inkább a HTML táblázatokhoz hasonlóan működik. Megpróbálja figyelembe venni a biztosított ügyfélterületet és függőleges növekedéssel ellensúlyozza.
Sok hasonlóság van a GridLayout és a TableWrapLayout között. Mindkettő rácsokba szervezi a leszármazottakat. Mindkettő rendelkezik elrendezésadatokkal, amely utasítja az elrendezést minden egyes vezérlőelem kezelésével kapcsolatban. Mindkettő elfogad tippeket arról, hogy melyik vezérlőelem kapja meg a felesleges területet, stb.
Mindazonáltal az elrendezés megközelítésében
alapvetően különböznek. A TableWrapLayout
oszlopokkal indul.
Kiszámítja minden egyes oszlop minimális, előnyben részesített és
maximális szélességét és ezt az információt használja a fölösleges terület
hozzárendeléséhez. Megpróbál igazságos lenni a terület oszlopok közt
felosztásakor, így nem tördel fölöslegesen bizonyos vezérlőelemeket.
Lehetséges keverni a GridLayout
és a
TableWrapLayout
elemeket, de abban az ágban, ahol a
GridLayout
használatban van, a tördelés leáll. Ez eléggé
elfogadható, ha nem akar tördelést (ha az összetétel olyan vezérlőelemeket
tartalmaznak, amelyek különben sem tördelhetők, mint a szöveg, gombok,
fák, stb.). Mindazonáltal, minden egyes tördelést igénylő szöveges
vezérlőelemhez kell lennie egy töretlen útvonalnak az űrlap törzséből.