Layout personalizzati

Occasionalmente, può essere necessario scrivere una propria classe Layout personalizzata. Ciò è utile quando si dispone di un layout complesso che viene utilizzato in molti punti diversi dell'applicazione. Inoltre, potrebbe essere utile quando è possibile ottimizzare il layout utilizzando una conoscenza specifica dell'applicazione. Prima di creare un layout personalizzato, considerare quanto segue:

A meno che non si stia scrivendo un layout molto generico che verrà utilizzato da vari widget di Composite, è spesso più semplice e più facile calcolare le dimensioni e la posizione di elementi secondari in un listener di ridimensionamento. Molti dei widget personalizzati SWT sono scritti in questo modo. Sebbene un nuovo widget possa essere implementato come coppia Composite/Layout, l'implementazione come Composite, che produce il layout in un listener di ridimensionamento e calcola la dimensione preferita in computeSize è più chiara e non comporta la scrittura di una classe supplementare.

Se comunque è necessaria una classe di layout personalizzato, è consigliabile per prima cosa implementare l'algoritmo del layout in un listener di ridimensionamento. Ciò rende più semplice il debug dello stesso algoritmo. Assicurarsi di verificare i vari casi per layout: ridimensionamento minore, maggiore, suddivisione e sequenza.  Una volta che si dispone dell'algoritmo funzionante, è possibile eseguire il refactoring del codice in una sottoclasse di Layout

I layout sono responsabili dell'implementazione di due metodi:

Ulteriori informazioni sui layout personalizzati sono reperibili in Comprensione dei layout in SWT.

Copyright
IBM Corp. e altri 2000,2002.