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.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 50
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> Java
Gerenciadores de Layout - Apresentando FlowLayout
1 - Introdução

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);
  }
}


Este código produzirá o seguinte resultado:



Para aprender mais sobre gerenciadores de layout, acesse nossa coleção de dicas, truques e anotações sobre Java.
 
 
Arquivo de Códigos - Página Inicial

       

http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
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 as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site