APLICAÇÕES DE LINGUAGEM DE
PROGRAMAÇÃO ORIENTADA A
OBJETOS
COMPONENTES GUI – PARTE II
Prof. Thiago Pereira Rique
[email protected]
http://thiagorique.wordpress.com/
AGENDA
Tipos comuns de eventos GUI e interfaces
ouvintes
 Como o tratamento de evento funciona
 JButton
 Botões que mantêm o estado
 JComboBox e uso de uma classe interna anônima
para tratamento de evento

TIPOS COMUNS DE EVENTOS GUI E
INTERFACES OUVINTES

Algumas
classes
java.awt.event
de
evento
do
pacote
TIPOS COMUNS DE EVENTOS GUI E
INTERFACES OUVINTES

Algumas interfaces listener de eventos comuns do
pacote java.awt.event
COMO O TRATAMENTO DE EVENTO
FUNCIONA

Temos que responder duas perguntas:
1.
Como o handler de evento é registrado?
2.
Como o componente GUI sabe chamar
actionPerformed em vez de algum outro método
de tratamento de evento?
COMO O TRATAMENTO DE EVENTO
FUNCIONA

Registrando eventos

Cada JComponent possui uma variável de instância
listenerList que referencia um objeto da classe
EventListenerList (javax.swing.event).
COMO O TRATAMENTO DE EVENTO
FUNCIONA

Registrando eventos
COMO O TRATAMENTO DE EVENTO
FUNCIONA

Invocação de handler de evento
Segunda pergunta: como o componente GUI sabe
chamar actionPerformed em vez de outro método?
 Tipo ouvinte de evento!
 Despacho (dispatching)


Processo pelo qual um componente GUI chama um método
de tratamento de evento em cada um de seus ouvintes que
são registrados para o tipo de evento que ocorreu.
JBUTTON
Clicar (Ação específica)
 Botões de comando, caixas de seleção, botões de
alternação e botões de opção

JBUTTON
JBUTTON
JBUTTON
JBUTTON
JBUTTON
JBUTTON

Acessando a referência this em um objeto de uma
classe de primeiro nível a partir de uma classe
interna.

ButtonFrame.this
BOTÕES QUE MANTÊM O ESTADO

Botões de estado
JToggleButton
 JCheckBox
 JRadioButton

BOTÕES QUE MANTÊM O ESTADO

JCheckBox
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO

JRadioButton
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
BOTÕES QUE MANTÊM O ESTADO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Caixas de combinação

JComboBox

ItemEvents
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Continua...
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Continua...
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Continua...
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Continua...
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Continua...
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Classe de teste
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO
JCOMBOBOX E USO DE UMA CLASSE
INTERNA ANÔNIMA PARA TRATAMENTO DE
EVENTO

Utilizando uma classe interna anônima para
tratamento de evento

Objeto ouvinte de evento
 Classe interna anônima;
 Deve-se criar um objeto da classe no ponto em que foi
declarada;
 Pode acessar variáveis de instância e métodos de sua
classe de primeiro nível, bem como variáveis locais
final do método que a define;
 Não pode acessar variáveis locais não final.

public class MyHandler implements ItemListener
REFERÊNCIA

DEITEL, H.M; Java Como Programar. Ed.
Pearson, 8ª ed, 2010.
Download

Componentes GUI – Parte II