GridLayout è uno dei layout più potenti e complessi, in grado di disporre i widget in una griglia fornendo diversi parametri configurabili che controllano il funzionamento del ridimensionamento delle righe e delle colonne delle griglie quando il composto viene ridimensionato.
GridLayout definisce l'API che controlla la strategia generale del layout. L'attributo più importante è numColumns, che determina le dimensioni orizzontali della griglia. Generalmente l'utente decide questo valore durante la prima progettazione dell'aspetto della finestra. L'ordine dei widget nella griglia è lo stesso in cui i widget sono stati creati. Per modificarlo, è possibile utilizzare i metodi Control, moveAbove(Control) e moveBelow(Control). Questi metodi consentono l'inserimento dei widget prima o dopo un altro widget all'interno del layout. "above" e "below" fanno riferimento all'ordinamento del widget Z, non alla posizione nella griglia stessa.
Nella tabella riportata di seguito sono riepilogati i parametri configurabili per un GridLayout:
Attributo |
Descrizione |
---|---|
horizontalSpacing |
Numero di pixel tra il bordo destro di una cella e il bordo sinistro della cella vicina. |
makeColumnsEqualWidth |
Specifica se forzare tutte le colonne alla stessa larghezza. |
marginWidth |
Numero di pixel utilizzati per il margine sul bordo destro e sinistro della griglia. |
marginHeight |
Numero di pixel utilizzati per il margine sul bordo superiore e inferiore della griglia. |
numColumns |
Numero di colonne da utilizzare per comporre la griglia. |
verticalSpacing |
Numero di pixel tra il bordo inferiore di una cella e il bordo superiore della cella vicina. |
GridLayout supporta molti altri parametri di layout per ogni widget della griglia. Queste proprietà sono specificate in un oggetto GridData. È necessario impostare un GridData come dati di layout per ogni widget della griglia.
La classe GridData definisce le costanti di stile che consentono all'utente di specificare combinazioni comunemente utilizzate di parametri di layout nel costruttore di GridData. È anche possibile impostare singolarmente questi attributi utilizzando i metodi pubblici in GridData.
È possibile ottenere layout complessi e altamente dinamici utilizzando GridData. Estendendo questi valori a diversi widget della griglia si possono ottenere molte combinazioni differenti di layout. La possibilità di consentire ai widget di estendersi oltre le celle produce molti layout che non assomigliano neanche a una griglia.
Nella tabella riportata di seguito sono riepilogati i parametri configurabili per GridData. Per ulteriori descrizioni e immagini di esempio sull'uso dei diversi parametri di griglia, vedere Comprensione dei layout in SWT.
Attributo |
Descrizione |
---|---|
grabExcessHorizontalSpace |
Specifica se una cella deve essere ingrandita per utilizzare tutto lo spazio orizzontale aggiuntivo disponibile nella griglia. Dopo aver calcolato le dimensioni delle celle nella griglia in base ai widget e ai relativi dati della griglia, tutto lo spazio aggiuntivo presente nel Composto verrà assegnato alle celle che hanno bisogno di ulteriore spazio. |
grabExcessVerticalSpace |
Specifica se una cella deve essere ingrandita per utilizzare tutto lo spazio verticale aggiuntivo disponibile nella griglia. |
heightHint |
Specifica un'altezza minima per il widget e quindi per la riga che lo contiene. |
horizontalAlignment |
Può corrispondere a BEGINNING, CENTER, END, FILL. FILL indica che il widget verrà dimensionato per riempire l'intera larghezza della cella di griglia. |
horizontalIndent |
Numero di pixel tra il widget e il bordo sinistro della relativa cella di griglia. |
horizontalSpan |
Specifica il numero di colonne della griglia su cui si deve estendere il widget. Per impostazione predefinita, un widget riempie una cella della griglia. Può ricoprire altre celle orizzontalmente mediante l'incremento di questo valore. |
verticalAlignment |
Può corrispondere a BEGINNING, CENTER, END, FILL. FILL indica che il widget verrà ridimensionato in modo da riempire l'intera altezza della cella della griglia. |
verticalSpan |
Specifica il numero di righe della griglia su cui si deve estendere il widget. Per impostazione predefinita, un widget riempie una cella della griglia. Può ricoprire altre celle verticalmente mediante l'incremento di questo valore. |
widthHint |
Specifica una larghezza minima per il widget e quindi per la colonna che lo contiene. |