CEA032 – P
ROGRAMAÇÃO DE
C
OMPUTADORES
II
GUI - Graphical User Interface
A
GENDA
Introdução à Interface Gráfica
JTextField
Eventos
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
I
NTRODUÇÃO
GUI dá ao aplicativo aparência e comportamento distintos.
Interface gráfica é a melhor maneira de fazer com que o
usuário se familiarize com a aplicação (Interfaces
consistentes com o usuário permitem que ele aprenda
mais rápido novos aplicativos)
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Elementos de interface gráfica
Botões
Checkbox
Caixas de Texto
Barra de Títulos
Labels
I
NTRODUÇÃO
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Apenas Entrada e Saída com JOptionPane não é suficiente
para construir interfaces gráficas mais elaboradas
.
I
NTRODUÇÃO
Alguns componentes GUI básicos
Universidade Federal de Ouro Preto Campus João Monlevade
I
NTRODUÇÃO
Dois conjuntos de componentes GUI em Java
AWT segue o padrão dos elementos de interface gráfica
do sistema operacional
Vinculados à plataforma local (pesados)
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Swing permite especificar uniformemente a aparência e o
comportamento para o aplicativo em todas as plataformas
A maioria não são vinculados à plataforma local (leves)
Para a maioria dos componentes Swing existem componentes
AWT similares
I
NTRODUÇÃO
Hierarquia da maioria dos componentes Swing
Universidade Federal de Ouro Preto Campus João Monlevade
I
NTRODUÇÃO
Component (java.awt) – declara muitos atributos e
comportamentos s comuns aos componentes GUI. Maioria
dos componentes GUI estende a classe Component direta
ou indiretamente.
Container (java.awt) – subclasse de Component.
Componentes são adicionados a containers (como
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Componentes são adicionados a containers (como
janelas). Utilizados para exibir e organizar os elementos
na tela. Como Container é um componente podem ser
adicionados Containers dentro de Containers em uma
hierarquia.
I
NTRODUÇÃO
JComponent (javax.swing) – subclasse de Container. É a
superclasse de todos os componentes leves swing e
declara métodos e atributos comuns. Recursos comuns
suportados por JComponent:
1 – Teclas de atalho
2 – Tratamento de Eventos
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
2 – Tratamento de Eventos
3 – Suporte a localização
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
Tela que utiliza Labels (exibe texto somente leitura)
Universidade Federal de Ouro Preto Campus João Monlevade
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
Universidade Federal de Ouro Preto Campus João Monlevade
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
Comentários sobre o código
FlowLayout: os elementos são sempre colocados em um
container da direita para a esquerda na ordem em que são
adicionados ao container. Quando não houver mais espaço
para ajustar componentes da esquerda para a direita para a
esquerda, eles continuam a aparecer da esquerda a parente
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
esquerda, eles continuam a aparecer da esquerda a parente
na próxima linha. Se o container for redimensionado, um
FlowLayout reorganiza os componentes para se acomodar à
nova largura do container, possivelmente com mais ou
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
Comentários sobre o código
setLayout : herdado indiretamente da classe Container (Um
objeto que implementa a interface LayoutManager)
setTootTipText: herdado de JComponent – dica
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Icon: interface – ImageIcon implementa esta interface
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
Universidade Federal de Ouro Preto Campus João Monlevade
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
Resultado
Universidade Federal de Ouro Preto Campus João Monlevade
F
RAMEWORK PARA CONSTRUIR APLICAÇÃO COM
I
NTERFACE
G
RÁFICA
SwingConstants
Universidade Federal de Ouro Preto Campus João Monlevade
JT
EXT
F
IELD
Elemento para entrada de dados
Permite a inserção de textos
Uma área de uma única linha em que o usuário pode inserir
texto pelo teclado
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Extensão:
JPasswordField: herda JTextField e tem novas funcionalidades de
senha
JT
EXT
F
IELD
– E
XEMPLO
Universidade Federal de Ouro Preto Campus João Monlevade
JT
EXT
F
IELD
– E
XEMPLO
Universidade Federal de Ouro Preto Campus João Monlevade
JT
EXT
F
IELD
– E
XEMPLO
Universidade Federal de Ouro Preto Campus João Monlevade
JT
EXT
F
IELD
– E
XEMPLO
Universidade Federal de Ouro Preto Campus João Monlevade
JT
EXT
F
IELD
- E
XEMPLO
Universidade Federal de Ouro Preto Campus João Monlevade
E
VENTOS
Como interagir com as aplicações?
As interfaces gráficas são baseadas em eventos
Universidade Federal de Ouro Preto Campus João Monlevade
E
VENTOS
Universidade Federal de Ouro Preto Campus João Monlevade
E
VENTOS
Universidade Federal de Ouro Preto Campus João Monlevade
E
VENTOS
Universidade Federal de Ouro Preto Campus João Monlevade
E
VENTOS
Tratamento de Eventos
O evento ocorreu
Alguém tem que capturar esse evento
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
Alguma ação deve ser tomada em virtude do recebimento do
T
RATAMENTO DE
E
VENTOS EM
J
AVA
Passos necessários para tratar eventos em GUI:
1 - Crie uma classe que será o tratador do evento
2 - Implemente nessa classe o listener do evento
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
3 - Registre esse evento no objeto em que se deseja tratar
T
RATAMENTO DE
E
VENTOS EM JAVA
Passo 1 – Crie uma classe que será o tratador do evento
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
T
RATAMENTO DE
E
VENTOS EM JAVA
Passo 2 – Implemente nessa classe o listener do
evento
No caso o listener é o ActionListener
ActionEvent –
gerado quando
ocorre alguma
ação no objeto
(Botão por
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
(Botão por
exemplo)
T
RATAMENTO DE
E
VENTOS EM JAVA
Passo 3 – Registre esse evento no objeto em que
se deseja tratar os eventos
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
T
RATAMENTO DE
E
VENTOS EM
J
AVA
buttonOk
Universidade Federal de Ouro Preto Campus João Monlevade
F
UNCIONAMENTO DO
E
VENTO
Universidade Federal de Ouro Preto Campus João Monlevade
F
UNCIONAMENTO DO
E
VENTO
Universidade Federal de Ouro Preto Campus João Monlevade
Instituto de Ciências Exatas e Aplicadas
F
UNCIONAMENTO DO
E
VENTO
Como o botão OK (buttonOk) registrou o tratador de
eventos (ButtonHandler bh) ele tem como receber o
evento gerado
Universidade Federal de Ouro Preto Campus João Monlevade
F
UNCIONAMENTO DO
E
VENTO
Código que será executado ao clicar no
botão OK
Universidade Federal de Ouro Preto Campus João Monlevade
T
IPOS
C
OMUNS DE
E
VENTOS
Universidade Federal de Ouro Preto Campus João Monlevade
Interfaces de Listener
Interfaces de Listener
Universidade Federal de Ouro Preto Campus João Monlevade