Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
O gerenciador de layout FlowLayout é um dos gerenciadores
mais simples da linguagem Java, além de ser o gerenciador
padrão para a classe JPanel. Este gerenciador adiciona
os componentes ao container (JFrame ou JPanel) usando a disposição
de linhas. Quando uma linha é preenchida, uma nova linha
é criada e o fluxo de componentes continua. Aplicações
frequentes deste gerenciador é quando queremos exibir
uma fileira de botões na interface da aplicação.
2 - Usando FlowLayout para dispor componentes em
uma JFrame
Vejamos a seguir um exemplo da aplicação do gerenciador
FlowLayout. Trata-se de uma janela contendo três botões
dispostos em fileira. Eis a listagem:
import
java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos(){
super("O gerenciador FlowLayout");
Container c = getContentPane();
c.setLayout(new FlowLayout());
// Cria três botões
JButton btn1 = new JButton("Voltar");
JButton btn2 = new JButton("Próximo");
JButton btn3 = new JButton("Cancelar");
// Adiciona os botões à
janela
c.add(btn1);
c.add(btn2);
c.add(btn3);
setSize(450, 200);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar esta aplicação teremos o seguinte
resultado:
3 - Revisando os construtores da classe FlowLayout
O exemplo que vimos anteriormente usa o construtor sem argumentos
da classe FlowLayout:
FlowLayout
layout = new FlowLayout()
Este construtor retorna uma instância de FlowLayout que
alinhará os componentes ao centro e com um espaçamento
de 5 pixels na horizontal e na vertical. Contudo, o alinhamento
pode ser controlado com o segundo construtor:
FlowLayout
layout = new FlowLayout(int
align)
Este construtor permite que indiquemos como os componentes deverão
ser alinhados (ainda que o espaçamento de 5 pixels na
horizontal e na vertical permaneça). Os valores possíveis
são:
Constante
Efeito
FlowLayout.CENTER
Faz com que os componentes sejam alinhados
ao centro de cada linha de componentes.
FlowLayout.LEFT
Alinha os componentes a partir da margem
esquerda do gerenciador.
FlowLayout.RIGHT
Alinha os componentes a partir da margem
direita do gerenciador.
Assim, se quisermos que os componentes
sejam alinhados a partir da margem esquerda do gerenciador,
poderemos usar o seguinte trecho de código:
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
O terceiro construtor:
FlowLayout layout =
new FlowLayout(int
align, int hgap, int vgap)
Permite a definição não somente do alinhamento
(align) como também do espaçamento horizontal
(hgap) e vertical (vgap). Veja um exemplo onde definimos que
os componentes deverão ser alinhados à direita
com 10 pixels de espaçamento horizontal e 20 pixels de
espaçamento vertical:
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 20));
4 - Combinando os gerenciadores FlowLayout e BorderLayout
O gerenciador de layout BorderLayout divide um container em
cinco regiões, a saber: centro (CENTER), norte (NORTH),
sul (SOUTH), leste (EAST) e oeste (WEST). O que faremos agora
é tirar proveito da região SOUTH deste gerenciador
para mostrar a você a forma mais prática de exibir
uma fileira de botões em uma janela. Veja o código:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("O gerenciador FlowLayout");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria três botões
JButton btn1 = new JButton("Voltar");
JButton btn2 = new JButton("Próximo");
JButton btn3 = new JButton("Cancelar");
// Cria um JPanel e adiciona os botões
à ele
JPanel painel = new JPanel();
painel.setLayout(new FlowLayout(FlowLayout.RIGHT));
painel.add(btn1);
painel.add(btn2);
painel.add(btn3);
// Adiciona o painel à janela
c.add(BorderLayout.SOUTH, painel);
setSize(450, 200);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.