Puede que alguna vez tenga que escribir su propia clase Layout personalizada. Esto es lo más adecuado si tiene un diseño complejo que se utilice en distintos lugares de la aplicación. También resulta conveniente si puede optimizar el diseño a partir de sus conocimientos de la aplicación. Antes de construir un diseño personalizado, tome en consideración lo siguiente:
A menos que esté escribiendo un diseño muy genérico destinado para varios widgets de Composite, suele ser más fácil y más sencillo calcular el tamaño y la posición de los hijos en un escuchador de ajuste de tamaño. Muchos de los widgets personalizados de SWT se han escrito de esta manera. Aunque se puede implementar un widget nuevo como pareja de Composite/Layout, es mejor implementarlo como objeto Composite que realiza su diseño en un escuchador de ajuste de tamaño y calcula su tamaño preferido en el método computeSize, y no es necesario escribir clases adicionales.
Si todavía cree que necesita una clase de diseño personalizado, es una buena idea que implemente en primer lugar el algoritmo de diseño en un escuchador de ajuste de tamaño. Esto hace que sea más fácil depurar el propio algoritmo. Asegúrese de probar los diversos casos del diseño, de reducción y aumento de tamaño, de acomodación y de recorte. Una vez que el algoritmo esté en funcionamiento, el código se puede propagar a una subclase de Layout.
Los diseños se encargan de implementar dos métodos:
Encontrará información más detallada sobre diseños personalizados en el tema Interpretar los diseños en SWT.