Olá Pessoa
Como cancelar a execução de um evento?
Adicionei um listener a um JTextField que completa o nome conforme as letras vão sendo digitadas a partir de um banco de dados. Eu quero que o listener pare de funcionar se eu pressionar backspace. Como fazer isso?
public void keyReleased(KeyEvent e) {
partLetra = partLetra + e.getKeyChar();
List<PessoaFisica> rep = PessoaFisicaBusiness.findByFirstLetter(partLetra);
tfRepresentante.setText(rep.get(0).getNomePessoa());
}
Tente ai :
JTextField jtf = new JTextField();
jtf.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
jtf.removeKeyListener(this);
}
}
});
Você pode implementar o KeyListener em outro local do seu programa para poder remover e adicionar ele quando você quiser.
Rummenigge, muito obrigada pela atenção!
Acabei modificando toda a maneira de executar o sistema, mas fica registrado pra quem precisar cancelar um evento que basta utilizar o método
removeKeyListener(this) aplicado ao componente;
Abraço!