Wednesday, June 07, 2006

Curiosidade sobre Listeners

Se você precisa usar listeners do tipo KeyListener, MouseListener, FocusListener e sempre odiou ter que implementar todos os métodos (claro, lembrando que quando implementamos uma interface é obrigatório a implementação de todos os métodos que a compõe, mesmo que o corpo esteja vazio), aqui vai uma pequena dica que me ajudou bastante:

Situação: Eu preciso de um MouseListener em que apenas do método mousePressed será utilizado, o que fazer?
Solução : Ao invés de implementar a interface MouseListener, extenda a classe MouseAdapter e sobrescreva apenas o mousePressed. Exemplo:

MouseListener myMouseListener = new MouseAdapter(){
public void mousePressed(MouseEvent e){
System.out.println("Pressionou o mouse!");
}
};

**Outros listeners também possuem seu proprio adapter:

FocusListener = FocusAdapter
WindowListener = WindowAdapter
KeyListener = KeyAdapter


Concluindo, a classe MouseAdapter simplesmente implementa a inteface MouseListener e seus metodos respectivamente, deixando-os com o corpo vazio e dessa forma a implementação dos metodos fica ao gosto do freguês.

0 Comments:

Post a Comment

<< Home