Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo: Nesta aula, vocês criarão uma agenda de contatos simples usando interfaces gráficas e a
biblioteca Swing em Java. Vocês aprenderão como usar os componentes gráficos para capturar
informações do usuário e implementar tratadores de eventos para interagir com os contatos.
Descrição:
A agenda de contatos será uma aplicação de desktop que permitirá ao usuário adicionar novos
contatos, exibir os contatos existentes e editar suas informações, incluindo nome, telefone e e-mail.
ActionListener
ActionListener é uma interface no pacote Swing do Java que é usada para lidar com eventos de ação
em componentes de interface gráfica do usuário, como botões, menus, caixas de seleção e outros
elementos interativos. Essa interface é fundamental para capturar e responder a ações do usuário,
como um clique em um botão.
O ActionListener é parte do modelo de programação de eventos no Java Swing, que segue o padrão
Observer (Observador). O componente interativo (por exemplo, um botão) atua como o "editor" de
eventos, enquanto o ActionListener age como um "observador" que aguarda a ocorrência de um
evento (como um clique no botão) e responde a ele executando o código definido no método
actionPerformed().
Aqui está um exemplo de como você pode usar o ActionListener para responder a eventos de clique
em um botão:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
button.addActionListener(new ActionListener() {
});
JPanel panel = new JPanel();
panel.add(button);
frame.add(panel);
frame.setVisible(true);
Neste exemplo, criamos um botão e adicionamos um ActionListener a ele. Quando o botão é clicado,
o método actionPerformed() é chamado, exibindo uma caixa de diálogo com a mensagem "Botão
clicado!".
Você pode personalizar a lógica dentro do método actionPerformed() para realizar a ação desejada
em resposta ao evento. O ActionListener é uma parte essencial da programação de GUI no Java
Swing, permitindo que você torne sua interface interativa e responsiva às ações do usuário.
Gerenciadores de leiaute
Em Java, os gerenciadores de leiaute (layout managers) são responsáveis por organizar os
componentes de uma interface gráfica de usuário de maneira eficiente e consistente, garantindo
que eles sejam exibidos de forma adequada, independentemente do tamanho da janela ou
plataforma. Existem vários gerenciadores de leiaute disponíveis no pacote Swing para atender às
diferentes necessidades de design de interface. Abaixo, vou explicar alguns dos gerenciadores de
leiaute mais comuns e fornecer pequenos exemplos de cada um:
FlowLayout:
O FlowLayout organiza os componentes em uma única linha, adicionando-os da esquerda para a
direita. Quando a largura da linha é atingida, os componentes são automaticamente movidos para a
próxima linha.
Exemplo:
import javax.swing.*;
import java.awt.*;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
frame.setVisible(true);
BorderLayout:
O BorderLayout organiza os componentes em cinco áreas principais: norte, sul, leste, oeste e centro.
Cada área pode conter apenas um componente.
import javax.swing.*;
import java.awt.*;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.pack();
frame.setVisible(true);
}
GridLayout:
O GridLayout organiza os componentes em uma grade retangular, especificando o número de linhas
e colunas. Todos os componentes têm o mesmo tamanho na grade.
Exemplo:
import javax.swing.*;
import java.awt.*;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
Estes são apenas alguns exemplos de gerenciadores de leiaute em Java Swing. Cada um deles
oferece flexibilidade e controle sobre a organização de componentes em uma interface gráfica. A
escolha do gerenciador de leiaute depende das necessidades de design específicas do seu aplicativo.
Você pode até mesmo combinar diferentes gerenciadores de leiaute dentro de um painel para criar
interfaces complexas e bem organizadas.
Exercício
Desenvolvendo a interface de uma Agenda de Contatos
Abra sua IDE e crie um novo projeto. Dê um nome ao projeto, e a IDE deve configurar a estrutura
básica do projeto para você.
A interface gráfica da sua agenda deve conter três campos de texto para inserir nome, telefone e
email, além de botões para adicionar, editar e excluir contatos. Você pode fazer isso criando um
JFrame e adicionando componentes Swing a ele. Aqui está um exemplo de código para criar a
interface:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
JPanel panel = new JPanel();
frame.add(panel);
addButton.addActionListener(new ActionListener() {
});
panel.add(nameLabel);
panel.add(nameField);
panel.add(phoneLabel);
panel.add(phoneField);
panel.add(emailLabel);
panel.add(emailField);
panel.add(addButton);
frame.setVisible(true);