45
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique [email protected] http://thiagorique.wordpress.com/

APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique [email protected]

Embed Size (px)

Citation preview

Page 1: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

COMPONENTES GUI – PARTE II

Prof. Thiago Pereira Rique

[email protected]

http://thiagorique.wordpress.com/

Page 2: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.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

Page 3: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

TIPOS COMUNS DE EVENTOS GUI E INTERFACES OUVINTES

Algumas classes de evento do pacote java.awt.event

Page 4: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

TIPOS COMUNS DE EVENTOS GUI E INTERFACES OUVINTES

Algumas interfaces listener de eventos comuns do pacote java.awt.event

Page 5: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

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?

Page 6: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

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).

Page 7: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

COMO O TRATAMENTO DE EVENTO FUNCIONA

Registrando eventos

Page 8: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

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.

Page 9: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

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

Page 10: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JBUTTON

Page 11: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JBUTTON

Page 12: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JBUTTON

Page 13: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JBUTTON

Page 14: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JBUTTON

Page 15: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JBUTTON

Acessando a referência this em um objeto de uma classe de primeiro nível a partir de uma classe interna. ButtonFrame.this

Page 16: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Botões de estado JToggleButton JCheckBox JRadioButton

Page 17: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

JCheckBox

Page 18: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 19: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 20: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 21: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 22: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 23: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

JRadioButton

Page 24: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 25: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 26: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 27: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 28: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 29: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 30: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BOTÕES QUE MANTÊM O ESTADO

Page 31: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Caixas de combinação

JComboBox ItemEvents

Page 32: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Continua...

Page 33: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Continua...

Page 34: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Continua...

Page 35: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Continua...

Page 36: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Continua...

Page 37: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Page 38: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Classe de teste

Page 39: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Page 40: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Page 41: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Page 42: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Page 43: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

JCOMBOBOX E USO DE UMA CLASSE INTERNA ANÔNIMA PARA TRATAMENTO DE EVENTO

Page 44: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

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

Page 45: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE II Prof. Thiago Pereira Rique thiagorique2011@gmail.com

REFERÊNCIA

DEITEL, H.M; Java Como Programar. Ed. Pearson, 8ª ed, 2010.