Buscar

Aula 07 - Interfaces Gráficas

Prévia do material em texto

Programação II
Interfaces Gráficas 
SWING e AWT
Profª Otília
Objetivos
• Apresentar conceitos relacionados às interfaces gráficas, 
segundo o padrão WIMP.
• Apresentar os componentes das bibliotecas SWING e AWT;
• Utilizar a biblioteca SWING para a criação de janelas.
Aula 07 - Interfaces Gráficas - SWING w AWT
Introdução
• Interface gráfica é composta de:
• Componentes
• Recipientes (containers)
• Layout
• Eventos
Aula 07 - Interfaces Gráficas - SWING e AWT
Recipientes e Componentes
• Componentes, controles ou widgets são os aspectos visíveis 
de uma GUI, como botões, menus, caixas de textos.
• São colocados dentro de recipientes (containers)
• Os recipientes podem conter:
• Um ou mais componentes, assim como outros recipientes
• Importante para construção de layouts de complexidade realista.
Aula 07 - Interfaces Gráficas - SWING e AWT
Swing vs AWT
• A Abstract Window Toolkit (AWT) é o antigo conjunto de 
ferramentas para interfaces gráficas do Java
• Oferece uma infra-estrutura mínima de interface gráfica
• Componentes têm aparência dependente de plataforma
• Limitado em recursos devido a depender de suporte de cada 
plataforma para os componentes oferecidos
• Bugs e incompatibilidades entre plataformas
Aula 07 - Interfaces Gráficas - SWING e AWT
AWT vs SWING
• O swing não é um substituto completo do AWT, mas fornece 
um conjunto muito mais rico e conveniente de 
componentes para interface com usuário
• O Swing é menos sujeito a erros específicos de cada 
plataforma
Aula 07 - Interfaces Gráficas - SWING e AWT
Tipos de Aplicativos Gráficos
• Há dois tipos de aplicações gráficas em Java
• Applets executam dentro de um navegador Web
• Aplicações standalone iniciadas via sistema operacional
• Ambas capturam eventos do sistema e desenham-se sobre 
um contexto gráfico fornecido pelo sistema
• Applets são aplicações especiais que executam a partir de 
um browser
• Browser é quem controla seu ciclo de vida (início, fim, etc.)
• Geralmente ocupam parte da janela do browser, mas podem abrir 
janelas extras
• Possuem restrições de segurança
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplos
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo (I)
• Importação dos pacotes
• Import do pacote SWING;
• Import de pacotes AWT;
• Os componentes SWING utilizam a estrutura AWT para manipulação de 
eventos. Por isso na maioria dos programas SWING é necessário importar estes 
pacotes.
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo (I)
Aula 07 - Interfaces Gráficas - SWING e AWT
Criação do frame com o 
título “Exemplo de 
Swing”
Torna visível.
Exemplo(I)
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo(I) – centralizar automático
Aula 07 - Interfaces Gráficas - SWING e AWT
É null pois não temos 
formulário ainda.
Fechando o frame
• setDefaultCloseOperation()
• Existem 4 formas
// 1 - não faça nada
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
// 2 - somente torne visível
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
// 3 - desaloca o frame fechado da memória
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// 4 - fecha toda a aplicação
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo(II) - extends
Aula 07 - Interfaces Gráficas - SWING e AWT
Containers de primeiro nível
• Toda interface gráfica deve ter ao menos um container de 
primeiro nível.
• Os containers de primeiro nível comumente usados são 
JFrame, JDialog, e (para applets) JApplet.
• Estes componentes são importantes para desenhar a 
interface e na manipulação de eventos.
• JFrame: objetos JFrame implementam uma janela principal.
• JDialog: objetos JDialog implementam uma janela 
secundária, dependendo de outra janela.
Aula 07 - Interfaces Gráficas - SWING e AWT
Criação do JLabel
• Este exemplo utiliza um JLabel.
• JLabel é um componente que descende de JComponente e 
pode exibir texto e/ou imagem.
• Instanciação do componentes;
• Adição do componente ao frame.
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo (III)
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo (III) - continuação
Aula 07 - Interfaces Gráficas - SWING e AWT
Para que o frame seja 
ajustado de acordo com o 
tamanho e layout de seus 
subcomponentes
Exemplo (IV)
• A classe implementa ActionListener
• A interface ActionListener fica “escutando”, pronta para receber 
ações de eventos.
• O método actionPerformed(ActionEvent e) é invocado quando 
ocorre uma ação.
Aula 07 - Interfaces Gráficas - SWING e AWT
Exemplo(IV)
Aula 07 - Interfaces Gráficas - SWING e AWT
A classe implementa a 
interface ActinListener
Adição de componentes ao frame
• As aplicações SWING agrupam os componentes em um 
container (um JPanel) antes de adicioná-los ao frame.
Aula 07 - Interfaces Gráficas - SWING e AWT
Adição de componentes ao frame
Aula 07 - Interfaces Gráficas - SWING e AWT
Criação do botão
Indicação do 
ActionListener do Botão
Criação do painel e 
adição dos componentes
Exemplo
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo
• Janelas modais usadas para interação com o usuário:
• Mostrar informações.
• Receber entradas de dados.
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo
• JOptionPane
• Caixas de diálogo predefinidas:
• Caixas de confirmação: Sim/Não/Cancelar
• Caixas de mensagem
• Caixas de entrada
• Todas bastante configuráveis
• Todas as caixas são modais (bloqueiam a execução do thread atual)
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo - ShowMessageDialog
• Caixa de mensagem:
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo - ShowConfirmDialog
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo - ShowInputDialog
Aula 07 - Interfaces Gráficas - SWING e AWT
Caixas de Diálogo - ShowInputDialog
Aula 07 - Interfaces Gráficas - SWING e AWT
Menu
Aula 07 - Interfaces Gráficas - SWING w AWT
Aula 07 - Interfaces Gráficas - SWING e 
AWT
Exercícios

Continue navegando