gerenciadores de Layout

A posição e tamanho dos componentes adicionados aos containers depende dos gerentes de conteúdo. O container quando precisa exibir seus componentes, usa o gerente de layout que possuir atualmente para organizar os componentes visuais.

Sendo assim problemas como resolução de vídeo e diferenças de vídeo entre plataformas não precisarão entrar na lista de reocupações de sua interface visto que o posicionamento será realizado pelos gerentes de layout mesmo sabendo das facilidades oferecidas pelos gerentes de layout, se desejar que o container não use um gerente de layout deve alterar o mesmo para null

janela.setLayout(null);

Definindo o gerente de layout como null será necessário usar os métodos setLocation(), setSize() ou o setBounds() para definir posicionamento e tamanho dos componentes visuais.

Vejamos o funcionamento dos principais gerentes de Layout

FlowLayout

O exemplo abaixo demonstra o uso do Flow Layout

Layout1.java
01 package br.com.thz;
02 
03 import java.awt.Container;
04 import java.awt.FlowLayout;
05 
06 import javax.swing.JButton;
07 import javax.swing.JFrame;
08 
09 public class Layout1 extends JFrame {
10 
11   private JButton b1;
12 
13   private JButton b2;
14 
15   public Layout1() {
16     b1 = new JButton("me toque");
17     b2 = new JButton("NÃO ME TOQUE");
18 
19     // o JFrame possui uma camada onde sao
20     // adicionados os componentes
21     Container c = getContentPane();
22 
23     c.setLayout(new FlowLayout());
24     c.add(b1);
25     c.add(b2);
26     pack();
27   }
28 
29   public static void main(String[] args) {
30     Layout1 janela = new Layout1();
31     janela.show();
32   }
33 }

Este é o comportamento dos elementos da Janela com o FlowLayout

flowlayout 1 flow layout 2

a Janela sendo redimensionados os componentes são reorganizados.

Leave a Reply