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:
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