KeyEvent

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!