Carregar apresentação
A apresentação está carregando. Por favor, espere
1
POO - II PROF.: JEAN CARLO MENDES JEAN.MENDES@GMAIL.COM HTTP://WWW.MENDESNET.COM.BR
2
ActionListener Vimos que para o tratamento de eventos temos que implementar um ActionListener se por consequência, implementar todos os seus métodos Esta tarefa pode ser dispendiosa em sistemas com muitas janelas e componentes Podemos ter componentes com o mesmo identificador em mais de uma janela Podemos ter muitos componentes (implementar uma interface para cada é “caro”) 2
3
ActionListener O Java passou a fornecer à partir de sua versão 1.1 a possibilidade de se construir classes internas Até este momento cada uma de nossas classes no Java foi gravada em um arquivo.java Uma classe interna, como o próprio nome diz, é uma definição de classe dentro de outra classe 3
4
ActionListener public class Externa { private class Interna implements ActionListener { public void actionPerformed (ActionEvent event) {... } Public Externa () { Jbutton meuBotao = new Jbutton(); meuBotao.addActionListener(new Interna()); } 4
5
5
6
ActionListener Há ainda a possibilidade de se colocar o Listener em uma classe interna anônima Uma classe anônima é uma classe interna que é “instanciada” no momento em que precisa ser usada 6
7
7
8
Classes “Adapters” Como vimos, para tratar os eventos temos que implementar as classes “Listener” As interfaces Listener possuem vários métodos que, por pertencer a interface, devem obrigatoriamente ser implementados Isto é custoso quando se quer usar apenas um ou alguns dos métodos do Listener Exemplo da interface MouseListener que implementados e tivemos que sobreescrever todos os métodos (vazios) pertencentes a interface 8
9
Classes “Adapters” Para facilitar isto o java fornece classes “Adaptadoras” que nada mais são do que classes que implementam as interfaces Listener e já sobrescrevem os métodos (com implementações vazias) Para usar uma classe Adapter basta estende-la e sobrescrever apenas o método (ou métodos) desejado 9
10
10
11
11
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.