Tratar evento ao pressionar tecla para todo o form

2 respostas
R

Pessoal,

Esto tentando capturar o evento de quando o usuário pressiona uma tecla estando com um form aberto (isso é possível ?), embora tenha programado nada acontece, vejam:

TrataEventos trataEventos = new TrataEventos(); addKeyListener(trataEventos);

A classe TrataEventos:

public class TrataEventos implements ActionListener, KeyListener { public void keyTyped(KeyEvent e) { System.out.println("O usuário digitou: " + e.getKeyChar()); } public void keyPressed(KeyEvent e) { System.out.println("O usuário pressionou: " + e.getKeyChar()); } public void keyReleased(KeyEvent e) { System.out.println("O usuário soltou a tecla: " + e.getKeyChar()); } }

Quando eu vinculo o evento ao um objeto JTextArea ou JTextField funciona perfeitamente:

tfMostraSequencia.addKeyListener(trataEventos);

O objetivo é vincular ao formulário como um todo, independente se o usuário está no campo x, ou y.

Grato !

2 Respostas

RobsonCassol

é só adicionar o keylistener no frame ou dialog que vc quiser, no entanto o foco deve estar nele.

R

Pois é, a idéia era essa mas nao rola, veja:

public class MontaTela extends javax.swing.JFrame {
   
    public MontaTela() {    	
        initComponents();
    }

    private void initComponents() {
        TrataEventos trataEventos = new TrataEventos();
        addKeyListener(trataEventos);
        setSize(840,600);
        setVisible(true);
    }

}

Criado 16 de março de 2009
Ultima resposta 16 de mar. de 2009
Respostas 2
Participantes 2