Layout personalizzati

Occasionalmente può essere necessario scrivere una 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 generare un layout personalizzato tenere presente 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 degli elementi secondari di un listener di ridimensionamento. Molti dei widget personalizzati SWT sono scritti in questo modo. Sebbene sia possibile implementare un nuovo widget come coppia Composite/Layout, l'implementazione come Composite che produce il layout in un listener di ridimensionamento e calcola la dimensione preferita in computeSize(...) risulta più chiara e non richiede la scrittura di una classe aggiuntiva.

Se si ritiene che sia 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. Verificare i vari casi per il layout, ossia l'impostazione di dimensioni minori, di dimensioni maggiori, la disposizione e il ritaglio.  Quando l'algoritmo è in funzione, è 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 disponibili in Comprensione dei layout in SWT.

Copyright IBM Corporation e altri 2000, 2003.