TableWrapLayout är en rutnätsbaserad layout som är mycket lik SWT:s mångsidiga GridLayout. Skillnaden ligger i att den använder en layoutalgoritm som fungerar mer som HTML-tabeller. Den försöker ta hänsyn till klientområdesbredden och växer vertikalt som kompensation.
Det finns många likheter mellan GridLayout och TableWrapLayout. Båda organiserar underordnade i rutnät. Båda har layoutdata som instruerar layouten hur respektive kontroll ska behandlas. Båda kan acceptera tips om vilken kontroll som ska ta överblivet utrymme osv.
Men deras tillvägagångssätt för layouten skiljer sig i grunden. TableWrapLayout
börjar med kolumner. Den beräknar minimal, önskad och maximal bredd och använder denna information för att tilldela överblivet utrymme. Den försöker även dela in utrymme jämnt över kolumnerna, så att det inte finns för mycket utfyllnad för vissa kontroller.
Det är möjligt att blanda GridLayout
och
TableWrapLayout
men på den gren där GridLayout
används upphör radbrytningen. Detta är acceptabelt om du inte vill använda radbrytning (om kompositen innehåller kontroller som inte kan utföra radbrytning som t.ex. text, knappar, träd etc.). Du bör dock ha en obruten sökväg för TableWrapLayouts från formulärtexten till respektive textkontroll som erfordrar radbrytning.