Buscar

Tratamento de Eventos em Interfaces Gráficas com Java

Prévia do material em texto

PROGRAMAÇÃO ORIENTADA A OBJETOS
Oswaldo Borges Peres
Aula 4 - Tratamento de Eventos em Interfaces Gráficas
Tratamentos de Eventos em Java
Quase todos os componentes propagam eventos. Estes eventos devem ser tratados em algum ponto do código da aplicação. Os eventos nunca são tratados no próprio componente. Para ligar o código do tratamento de eventos ao componente existem, no Java, um conjunto de interfaces chamadas listeners. Um listener é uma interface que especifica os métodos que uma aplicação deve ter para ser notificada da ocorrência de um determinado evento. Os componentes que geram eventos permitem que sejam adicionados ou removidos listeners em qualquer altura. 
2
Funcionamento do tratamento de eventos
O componente que produz eventos possui métodos especiais do tipo addXXListener(XXListener) que permite adicionar ou remover listeners. XX representa o nome do evento. O método addXXListener recebe por parâmetro o objeto que implementa a interface XXListener; 
A implementação do método addXXListener no componente apenas adiciona o objeto passado por parâmetro a uma lista interna. Sempre que ocorrer um evento (ex. botão pressionado), o componente percorre a lista e invoca, para cada elemento, o método definido na interface XXListener. 
3
Hierarquia dos Eventos
4
Eventos Prontos
5
AÇÃO DO USUÁRIO
Evento disparado
LISTENER
Clicar em um botão - JButton
ActionEvent
ActionListener
Abrir, minimizar ou fechar uma janela - JFrame
WindowEvent
WindowListener
Clicar em um componente -JComponent
MouseEvent
MouseListener
Alteração de texto em um campo de texto - JTextField
TextEvent
TextListener
Digitar uma tecla
KeyEvent
KeyListener
Clicar em um item de escolha - Checkbox
ItemEvent
ItemListener
Passo a Passo
Vamos implementar um programa simples para incrementar um valor numérico. Quando apertamos o botão Incrementar, o valor incrementa e quando apertamos o botão Zerar, o valor volta para zero.
Para isso, precisamos de um JFrame, dentro dele teremos um JLabel, um JTextField e dois JButton.
6
 A Interface ActionListener 
Esta interface disponibiliza o tratamento através do método ActionPerformed.
Este tratamento é feito da seguinte forma:
Adicionamos o ActionListener no objeto em questão;
Criamos o objeto que irá tratar este evento, instanciando um objeto ActionListener para implementar o método de tratamento;
Implementamos o método actionPerformed, que é o método de tratamento.
7
 Interface WindowListener
8
Métodos
Função
windowActivated( WindowEvent e)
Invocada quando a janela recebe o foco
windowClosed( WindowEvent e)
Invocado quando a janela foi fechada
windowClosing( WindowEvent e)
Invocado quando a janela está fechando
windowDeactivated( WindowEvent e)
Invocado quando a janela perde o foco
windowDeiconified( WindowEvent e)
Invocado quando a janela é maximizada
windowIconified( WindowEvent e)
Invocado quando a janela é minimizada
 Interface MouseListener
9
Métodos
Função
mouseClicked( MouseEvent e)
Invocada quando o botão é pressionado e solto sobre o componente
mouseEntered( MouseEvent e)
Invocado quando o mouse entra na região gráfica do componente
mouseExited( MouseEvent e)
Invocado quando o mouse sai da região gráfica do componente
mousePressed( MouseEvent e)
Invocado quando o botão do mouse é apertado
mouseReleased( MouseEvent e)
Invocado quando o botão do mouse é solto
mouseDragged( MouseEvent e)
Invocado quando o mouse se movimenta e o seu botão principal está apertado
Interface MouseMotionListener
10
Métodos
Função
mouseDragged(MouseEvente)
Invocada quando o botão é pressionado e em seguida, movimentado com o componente
mouseMoved( MouseEvent e)
Invocado quando o mouse se moveu para a região gráfica do componente sem nenhum dos botões pressionados
Bibliografia
Java: como programar - 8ª edição
Deitel, Paul J.; Deitel, Harvey M.
11

Continue navegando