Tudo sobre o gridbaglayout
Tudo sobre o GridBagLayout. Trabalhando com Swing você, frequentemente, criará telas de propriedades. Que são aquelas telas tradicionais com um label e um componente para edição. Um belo exemplo de uma tela como essa é a tela de cadastro de cliente, que possui vários campos, criando uma dificuldade a mais na hora da confecção da tela. O GridBagLayout é um gerenciador de layout para swing muito flexível. Similar ao GridLayout, o GridBagLayout possui uma matriz de células, porém cada coluna ou linha da matriz pode ter um tamanho e comportamento diferente, assim como cada célula também possuirá as suas variações. O layout é tão flexível que ao inluir um componente em determinada célula, você até pode definir que o mesmo componente ocupará várias células.
GridBagConstraints Este layout tem como base a utilização de um GridBagConstraints para cada componente inserido. É este objeto que proporcionará a liberdade que queremos com o layout. A GridBagConstraints é uma classe que não possui métodos, ela servirá simplesmente para armazenar as informações para cada componente adicionado. Vamos dar uma olhada nas propriedades da classe: anchor: Essa propriedade é utilizada somente quando o tamanho do componente é menor que a área que lhe foi concedida. Normalmente, queremos que nosso componente ocupe toda a área disponível, mas em casos especiais, não podemos redimensionar os componentes. Sendo assim, o layout precisa saber em que posição da célula deixará o componente. Os valores para esse campo são de dois tipos: Absolutos (CENTER, NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, e NORTHWEST) e Relativos (PAGE_START, PAGE_END, LINE_START, LINE_END, FIRST_LINE_START,
FIRST_LINE_END, LAST_LINE_START and LAST_LINE_END). O valor padrão é CENTER. fill: Determina como redimensionar o componente. Valores possíveis para esta propriedade são: NONE: Não redimensiona o componente HORIZONTAL: Redimensiona horizontalmente, fazendo com que o