Listeners
O Java possui diversos tipos de Listeners (ouvidores), que são responsáveis por detectar ações em qualquer lugar da aplicação.
Existem diversos tipos de classes listeners, como WindowListener, KeyListener e FocusListener.

Cada um possui a responsabilidade de detectar as ações correspondentes e executar devidas ações. Essas ações são criadas pelo desenvolvedor.


Boa prática de como utilizar os Listeners

Ao necessitar de um listener, o mais indicado, é criar um nova classe que implementa o tipo de listener desejado, fazendo com que seja obrigatório implementar todos os métodos do listener.

Ex: Vou executar alguma ação quando a tecla enter for pressionada (ouvida)

Código java
				public class MeuKeyListener implements KeyListener {
public BarCodeKeyListener() {
}

public void keyTyped(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
//Executa a ação se a tecla enter for pressionada
}
}

public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}


Certo, detectamos a tecla enter, mas como fazer pra alterar algum objeto que está classe que estanciou o MeuKeyListener?
Simples!
Basta criar um devido construtor para a classe MeuKeyListener que aceite o(s) objeto(s) que deseja-se alterar.

Código java
				public class MeuKeyListener implements KeyListener {
String mensagem = "";

public BarCodeKeyListener() {
}

public BarCodeKeyListener(String mensagem) {
this.mensagem = mensagem;
}

public void keyTyped(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
//Executa a ação se a tecla enter for pressionada
mensagem = "tecla ENTER pressionada";
}
}

public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}


Feito isso, o objeto que deseja-se mudar, ganha um ponteiro em sua direção.
Traduzindo em poucas palavras:
Ao alterar o objeto passado ao listener, na verdade o objeto real estará sendo alterado.


Espero ter ajudado alguém, assim como esse "conceito" me ajudou bastante.
thumbsup.gif

Você gostou? Comente no fórum!

Comentários:

Thiago Ananias disse:

Só uma ressalva...estes Listeners são construídos apoiados pelo Design Pattern "Observer", você mesmo pode construir seus "Listeners", classes personalizadas, é só estudar este Design Pattern original.gif

[]s

Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).

Mais recentes em JSP e Java

Api's java
Por Daniel Vidal - Lista de api's...
Validador stella
Por Lucasbr - O caelum stella visa suprir as necessidades comumente...
Jsp - expression language
Por Daniel Vidal - Pra quem quiser conhecer um pouco mais sobre as els,...
[java] listeners
Por Daniel Vidal - Listeners - o java possui diversos tipos de listeners...
[swing] adicionando menu ao frame
Por Daniel Vidal - Passo 2...

Ver mais Artigos de JSP e Java.

Ver e retirar outras dúvidas no fórum Webly.

Alguns Direitos Reservados | RSS | O Fórum

Webly Portal e Fóruns - Internet + Humana | Design by ArthurHenrique.com