ColumnLayout

Questo altro layout personalizzato nei moduli UI è una variante di RowLayout. Se si configura RowLayout per collocare gli elementi secondari verticalmente (nelle colonne), e per equiparare i controlli all'interno della colonna, si otterranno diverse colonne (in base alla larghezza dei controlli), ma l'ultima colonna generalmente non è completamente riempita (in base al numero di controlli). Inoltre, se collocato in un modulo, otterremo tutti i controlli in una colonna perché RowLayout non può eseguire un ritorno a capo "verticale". Se si utilizza GridLayout, è necessario scegliere il numero di colonne in anticipo e gestire questa scelta.

Con moduli più complessi, si può avere l'esigenza di gestire un numero di colonne variabile. In altri termini, il numero può variare in base alla larghezza del modulo, utilizzandone un numero maggiore quando possibile e riducendo invece il numero se la larghezza diminuisce. Inoltre, può essere opportuno riempire l'area del modulo in modo equilibrato (con tutte le colonne approssimativamente della stessa altezza). Queste funzionalità si possono ottenere con ColumnLayout.

A confronto con TableWrapLayout, ColumnLayout è molto più semplice. Non è richiesta quasi nessuna configurazione. La sola selezione da effettuare è l'intervallo di colonne da presentare (il valore predefinito è da 1 a 3).