TableWrapLayout er et gitterbaseret layout, som minder meget om SWT's fleksible GridLayout. Det adskiller sig fra GridLayout, ved at der bruges en layoutalgoritme, som fungerer mere lige som HTML-tabeller. Det forsøger at respektere den angivne klientområdebredde og udvider sig i stedet i højden.
Der er mange ligheder mellem GridLayout og TableWrapLayout. Begge organiserer underordnede elementer i gitre. Begge indeholder layout-data, som instruerer layoutet om, hvordan hver enkelt kontrol skal behandles. Begge kan modtage tip til, hvilken kontrol der skal have den overskydende plads osv.
De er imidlertid grundlæggende forskellige med hensyn til layout.
TableWrapLayout
begynder med kolonner. Det beregner den minimale, foretrukne og maksimale bredde på hver kolonne og bruger oplysningerne til at tildele overskydende plads.
Det forsøger desuden at fordele pladsen på de forskellige kolonner, så der ikke sker ombrydning af visse kontroller.
Du kan godt blande GridLayout
og
TableWrapLayout
, men den gren, hvor GridLayout
bruges, er det sted, hvor ombrydningen stopper.
Det er acceptabelt, hvis du ikke vil have ombrydning (hvis sammensætningen indeholder kontroller, der alligevel ikke kan ombrydes, f.eks. tekst, knapper, træstrukturer osv.)
. Du skal imidlertid have en ubrudt sti af TableWrapLayout'er fra formularindholdet til hver enkelt tekstkontrol, der skal ombrydes.