PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 4- Tratamento de ...lncc.br/~rogerio/poo/07-Tratamento de...
Transcript of PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 4- Tratamento de ...lncc.br/~rogerio/poo/07-Tratamento de...
PROGRAMAÇÃO ORIENTADA A OBJETOS
Aula 4- Tratamento de Eventos em Interfaces Gráficas
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Conteúdo Programático desta aula
•Manipular de Fontes, cursores, bordas,•Compreender os modelos de tratamentos de eventos•Utilizar os tratamentos de eventos prontos•Manipular com os tratamentos de eventos de janelas•Compreender e manipular o tratamento de eventos de Botões e Menus
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Tratamentos de Eventos em JavaQuase 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.
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
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.
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Hierarquia dos Eventos
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
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
Eventos Prontos
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Exercício
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.
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
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.
jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { trataEventoBt1ActionPerformed(evt); //método trata } });
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Interface WindowListener
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
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Interface MouseListener
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
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Interface MouseMotionListener
Métodos Função
mouseDragged( MouseEvent e) 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
jTextField1.addMouseMotionListener(new java.awt.event.MouseMotionListener() { public void mouseDragged(MouseEvent e) { setMsg("Tentando Mover o componente"); } public void mouseMoved(MouseEvent e) { setMsg("Movendo o mouse em cima do texto"); } });
TRATAMENTO DE EVENTOS EM INTERFACES GRÁFICAS– AULA4
PROGRAMAÇÃO ORIENTADA A OBJETOS
FIM