GridLayout

GridLayout é um dos layouts mais poderosos e complexos. GridLayout forma o layout dos widgets em uma grade, fornecendo muitos parâmetros configuráveis que controlam o comportamento do redimensionamento das linhas e colunas da grade durante o redimensionamento do composto.

O GridLayout define a API que controla a estratégia geral do layout. O atributo mais importante é numColumns, o qual determina o tamanho horizontal da grade. Geralmente, esse valor é decidido quando você faz o primeiro design da aparência da janela. A ordem dos widgets na grade é a mesma na qual foram criados. Para alterar a ordem dos widgets na grade, você pode utilizar os métodos de Controle moveAbove(Control) e moveBelow(Control). Esses métodos permitem que os widgets sejam inseridos antes ou depois de outro no layout. (O "above" e "below" referem-se à ordenação do widget Z e não à localização na própria grade).

A tabela a seguir resume os parâmetros configuráveis de um GridLayout:

Atributo

Descrição

horizontalSpacing

O número de pixels entre a borda direita de uma célula e a borda esquerda de sua célula vizinha.

makeColumnsEqualWidth

Especifica se todas as colunas devem ser forçadas a ter a mesma largura.

marginWidth

O número de pixels utilizados para a margem das bordas direita e esquerda da grade.

marginHeight

O número de pixels utilizados para a margem das bordas superior e inferior da grade.

numColumns

O número de colunas que devem ser utilizadas para formar a grade.

verticalSpacing

O número de pixels entre a borda inferior de uma célula e a borda superior de sua célula vizinha.

GridLayout suporta muitos outros parâmetros de layout para cada widget na grade.Essas propriedades estão especificadas no objeto GridData.É preciso definir um GridData como os dados de layout para cada widget na grade.

A classe GridData define constantes de estilo que permitem especificar combinações de parâmetros de layout normalmente utilizadas no construtor GridData. Você pode também definir esses atributos individualmente, utilizando os métodos públicos do GridData.

Pode-se conseguir layouts bem mais dinâmicos e complexos utilizando o GridData.Puxar esses valores para widgets diferentes na grade pode produzir muitas combinações diferentes de layouts. A capacidade de permitir que os widgets estendam-se pelas células produz muitos layouts que nem sequer parecem uma grade.

A tabela a seguir resume os parâmetros configuráveis de GridData.   Consulte Compreendendo layouts no SWT para obter descrições adicionais e capturas de tela de exemplo utilizando os vários parâmetros de grades.

Atributo

Descrição

grabExcessHorizontalSpace

Especifica se uma célula deve expandir-se para utilizar o espaço horizontal extra disponível na grade. Depois de os tamanhos da célula na grade serem calculados com base nos widgets e nos dados da grade deles, qualquer espaço extra restante no Composto será alocado para as células que ocupam espaço extra.

grabExcessVerticalSpace

Especifica se uma célula deve expandir-se para utilizar o espaço vertical extra disponível na grade.

heightHint

Especifica uma altura mínima d widget (e, portanto, da linha que o contém).

horizontalAlignment

Pode ser BEGINNING, CENTER, END e FILL. FILL significa que o widget será dimensionado para ocupar a largura toda de sua célula na grade.

horizontalIndent

O número de pixels entre o widget e a borda esquerda de sua célula na grade.

horizontalSpan

Especifica o número de colunas na grade pelas quais o widget deve expandir-se. Por padrão, um widget ocupa uma célula na grade. Ele pode ocupar células adicionais horizontalmente, através do aumento do seu valor.

verticalAlignment

Pode ser BEGINNING, CENTER, END e FILL. FILL significa que o widget será dimensionado para ocupar a altura toda de sua célula na grade.

verticalSpan

Especifica o número de linhas na grade pelas quais o widget deve expandir-se. Por padrão, um widget ocupa uma célula na grade. Ele pode ocupar células adicionais verticalmente, através do aumento do seu valor.

widthHint

Especifica uma largura mínima para o widget (e, portanto, para a coluna que o contém).

Copyright IBM Corporation e outros 2000, 2003.