Ajuda com keylistener (Resolvido)

Olá todos! Estou com um problema que não consigo resolver, no GUJ tem vários topicos mas nenhum deu certo preciso fazer um contador em um jtextfield para acrescentar ou subtrair com as setas do teclado, sem que o foco esteja nele. Tentei com o seguinte codigo:

public void keyReleased(KeyEvent ke) {
        if (KeyEvent.VK_KP_UP == ke.getKeyCode()) {
             quantidade = quantidade + 1;
           
        }else {
            if (KeyEvent.VK_KP_DOWN == ke.getKeyCode()){
                quantidade = quantidade - 1;
            }
            
        } 
               
        jTqtde.setText(String.valueOf(quantidade));
    }

Meu jframe implementa KeyListener;

Obrigado!

Coloque o Focusable no seu JTextField :arrow: http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#setFocusable(boolean)

:thumbup:

InicianteJavaHenrique obrigado pela força, mas eu queria que sempre que as setas do teclado fossem acionadas o evento atualizasse o contador mesmo que o jtextfield não estivesse com o foco.

faz assim:

this.getRootPane().registerKeyboardAction(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Subindo!"); meuValor++; } }, KeyStroke.getKeyStroke("UP"),JComponent.WHEN_IN_FOCUSED_WINDOW); this.getRootPane().registerKeyboardAction(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Descendo!"); meuValor--; } }, KeyStroke.getKeyStroke("DOWN"),JComponent.WHEN_IN_FOCUSED_WINDOW);

Poe esse código no construtor de seu JFrame/JDialog. e altera o código que vai dentro do actionPerformed dos dois casos.

mateusviccari . Funcionou direitinho. Obrigado!