Utilizando Layout Nulo

Em vez de utilizar um gerenciador de layout que controla o tamanho e a posição de todos os componentes em um contêiner, você pode defini-lo para nulo. Cada componente irá controlar sua posição e seu tamanho utilizando seus limites.

Se você clicar com o botão direito do mouse em um contêiner e definir a opção Mostrar Grade, será possível arrastar, soltar e mover componentes para um ponto na grade, possibilitando o alinhamento dos componentes nas posições sem utilizar as ações de alinhamento:
Mostrar Grade em layout nulo

Você também pode começar com o gerenciador de layout definido para nulo e, então, alterar para um layout (como GridBagLayout) para obter a definição de restrição calculada pelo editor visual para Java. A vantagem de ter cada componente controlando seu tamanho e posição é que você pode especificar x, y, largura e altura e certificar-se de que isso sempre será utilizado no tempo de execução. A desvantagem de ter o tamanho e a altura corrigidos é que eles não serão redimensionados se o aplicativo for redimensionado pelo usuário ou se as etiquetas nos componentes, tais como botões ou caixas de opção, alterarem o tamanho com base na fonte ou na localidade do usuário.

Para ver esse comportamento no editor visual para Java, você pode utilizar a lista de valores na visualização Propriedades para a propriedade de layout e selecionar nulo.

Quando você define para nulo o gerenciador de layout para um contêiner existente, a visualização Design não é alterada em sua aparência. O editor visual calcula os limites atuais de cada componente e define-os explicitamente. Por exemplo, suponha que você tem um contêiner que utiliza o gerenciador de layout FlowLayout e contém um JLabel bean. Antes de definir o layout para nulo, o código para inicializar o JLabel bean tem somente sua propriedade de etiqueta definida, conforme mostrado aqui:

private javax.swing.JLabel getIvjJLabel(){
    if(ivjJLabel == null) {
       ivjJLabel = new javax.swing.JLabel();
       ivjJLabel.setText("JLabel");
    }
    return ivjJLabel;
}

Se, em seguida, você utilizar a visualização Propriedades para alterar o gerenciador de layout para nulo, o código será semelhante a:

private javax.swing.JLabel getIvjJLabel(){
    if(ivjJLabel == null) {
       ivjJLabel = new javax.swing.JLabel();
       ivjJLabel.setBounds(59, 10, 38, 15);
       ivjJLabel.setText("JLabel");
    }
    return ivjJLabel;
}

No mesmo exemplo, assim que definir o gerenciador de layout para nulo, a visualização Propriedades para cada componente exibe os valores para limites, tamanho e local. Esses valores não são exibidos quando o contêiner pai utiliza qualquer outro gerenciador de layout, pois as propriedades do componente não são alteradas quando o gerenciador de layout controla o posicionamento e o dimensionamento.

Quando você define o layout para um contêiner como nulo, os manuseios para cada componente na visualização Design permitem o redimensionamento. Você também pode dimensionar um bean, conforme o inclui a partir da paleta. Mantenha pressionado o botão esquerdo do mouse ao soltar o bean na visualização Design e arraste o ponteiro do mouse até que o bean esteja no tamanho desejado. Um retângulo de feedback de destino mostra o tamanho inicial. Em qualquer outro gerenciador de layout você pode apenas mover ou incluir componentes.

Tópico Principal: Criando o layout dos componentes utilizando o editor visual

Conceitos Relacionados
Gerenciadores de layout e contêineres

(C) Copyright IBM Corporation 1999, 2004. Todos os Direitos Reservados.