Layouts personalizados

Ocasionalmente, talvez seja necessário gravar sua própria classe Layout personalizada. Isso é mais apropriado quando se tem um layout complexo utilizado em muitos lugares diferentes do aplicativo. Talvez seja apropriado quando for possível otimizar o layout utilizando o conhecimento específico do aplicativo. Antes de construir um layout personalizado, considere o seguinte:

A menos que você esteja gravando um layout bastante genérico que será utilizado por vários widgets Compostos, é bem mais simples e mais fácil calcular tamanhos e posicionar filhos em um ouvinte de redimensionamento.Muitos dos widgets personalizados do SWT foram gravados dessa maneira. Embora um novo widget possa ser implementado como um par Composto/Layout , implementá-lo como um Composto que forma seu layout em um atendente de redimensionamento e computa seu tamanho preferencial em computeSize(...) é mais claro e não envolve a gravação de uma classe extra.

Se você ainda julga necessária uma classe de layout personalizado, é bom primeiro implementar o algoritmo do layout em um atendente de redimensionamento. Isso contribui para simplificar sua própria depuração. Certifique-se de testar os vários casos de layout, que são redimensionamento menor, redimensionamento maior, agrupamento e recorte.  Quando o algoritmo estiver funcionando, o código poderá ser reformulado em uma subclasse de Layout

Os layouts são os responsáveis pela implementação de dois métodos:

Mais discussões sobre layouts personalizados podem ser localizadas em Compreendendo layouts no SWT.

Copyright IBM Corporation e outros 2000, 2003.