TableWrapLayout è un layout basato su griglia molto simile al GridLayout di SWT. Si differenzia da questo perché utilizza un algoritmo di layout con un funzionamento più simile a quello delle tabelle HTML. Cerca di rispettare l'area client fornita e cresce in verticale per compensare.
Ci sono molte similitudini tra GridLayout e TableWrapLayout. Entrambi organizzano gli elementi secondari in griglie. Entrambi hanno dati di layout che indicano al layout come gestire ciascun controllo. Entrambi possono accettare suggerimenti su quale controllo deve utilizzare lo spazio in eccesso, ecc.
Tuttavia, differiscono in modo fondamentale nell'approccio al layout. TableWrapLayout
inizia con le colonne. Calcola le larghezze minima, preferita e massima di ogni colonna ed utilizza queste
informazioni per assegnare lo spazio in eccesso. Inoltre cerca di dividere lo spazio tra le colonne in modo
equilibrato, in modo che non ci sia un ritorno a capo eccessivo per alcuni controlli.
È possibile combinare GridLayout
e TableWrapLayout
ma la sezione
in cui si utilizza GridLayout
è quella in cui si arresta il ritorno a capo. Questo è
accettabile se non sono richiesti ritorni a capo (se la struttura composta contiene controlli che non
possono essere portati a capo, quali testo, pulsanti , strutture, ecc.). Tuttavia, è necessario avere
un percorso attivo dal corpo del modulo a ciascun controllo di testo che deve essere riportato a capo.