Webly: [java] Listeners - Webly

Ir para

Regras para postagem

É permitido postar livremente respostas com comentários, testes e avaliações dos scripts. Postagens contendo dúvidas sobre o script, deverão ser postadas no fórum principal de JSP.

IMPORTANTE: Todos os tutoriais postados neste fórum irão automaticamente para o portal Webly. Contribua você também e faça parte da equipe de colaboradores que fazem a evolução da web. Obrigado.
Página 1 de 1

[java] Listeners Avaliar tópico: -----

#1 Membro offline   Daniel Vidal Ícone

  • webly@workaholic.to.nessa
  • Ícone
  • Grupo: Administradores
  • Posts: 1113
  • Cadastrado: 27-outubro 06
  • Localização:São Caetano do Sul - SP

Postou 11 dezembro 2007 - 12:55

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:
===== Não sei de nada, mas sou cheio de ideias =====
0

#2 Membro offline   Thiago Ananias Ícone

  • Ícone
  • Grupo: Moderadores
  • Posts: 1033
  • Cadastrado: 14-julho 06
  • Localização:São Paulo - SP

Postou 12 dezembro 2007 - 09:38

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 :)

[]s
Nhenhenhê, tititi, blábláblá!!
0

Página 1 de 1


Resposta rápida

  

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)