TableWrapLayout é um esquema baseado em grelhas muito semelhante ao versátil GridLayout de SWT. Difere do GridLayout porque utiliza um algoritmo de esquema que funciona à semelhança de tabelas HTML. Tenta respeitar a área do cliente disponibilizada e aumentar na vertical para compensar.
São muitas as semelhanças entre GridLayout e TableWrapLayout. Ambos organizam os descendentes em grelhas. Ambos dispõem de dados de esquema que instruem o esquema sobre o tratamento de cada controlo. Ambos podem aceitar sugestões acerca do controlo que deve apanhar espaço a mais, etc.
Todavia, diferem fundamentalmente na abordagem ao esquema. TableWrapLayout
começa com colunas. Calcula as larguras mínimas, preferenciais e máximas de cada coluna e utiliza as informações para atribuir espaço a mais. Também tenta ser justo na divisão de espaço pelas colunas para que não ocorra translineação excessiva de alguns controlos.
É possível misturar GridLayout
e TableWrapLayout
mas a ramificação onde GridLayout
é utilizado é onde pára a translineação. Isto é aceitável se não quiser translineação (se o compósito contiver controlos que não translineiam como, por exemplo, texto, botões, árvores, etc.).
Contudo, deverá ter um caminho não interrompido de TableWrapLayouts do corpo do
formulário para cada controlo que tenha de ser translineado.