Baixe o app para aproveitar ainda mais
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
Compartilhar