Evento KeyPressed do JTextField

4 respostas
A

no evento KeyPressed do JTextfield, ele eh disparado ao ser pressionada qualquer tecla.
precisei que fosse disparado apenas quando a tecla pressionada fosse o ENTER. fiz o seguinte

private void jBApagarRegistroKeyPressed(java.awt.event.KeyEvent evt) {                                            
        if (evt.getKeyCode() == KeyEvent.VK_ENTER){  
            //qualquer coisa que eu queria
        } 
    }

beleza, ateh ae tudo certo
agora eu preciso que ele seja disparado quando for pressionada apenas uma letra ou um numero.

preciso fazer KeyEvent.VK_ENTER para todas as letras e numeros???
alguem sabe um jeito mais facil??

4 Respostas

E

Quando você começa a tratar o evento KeyPressed do JTextField, é sinal que está fazendo alguma coisa errada. Em 99,9% das vezes o jeito “certo” de tratar o que você quer fazer não é com KeyPressed.

O que você quer fazer, afinal? Quer criar um JTextField que aceite apenas números, ou um que aceite apenas valores de moeda? (ou seja, com 2 casas depois da vírgula, e sem precisar digitar a vírgula?)

A

o que eu quero, é que o evento seja dispara quando apertar uma tecla, porem nao qualquer tecla
somente numero e letras…
se o usuario digitar seta, enter, f4, esc, alt, sei la
qualquer outra nao dispare o evento, somente seja disparado com alguma tecla q seja letra ou numero ;D

M

Fala augusto340… Ja experimentou o seguinte?

private void jBApagarRegistroKeyPressed(java.awt.event.KeyEvent evt) {                                              
        if ((evt.getKeyCode() >= 65 && evt.getKeyCode() <= 90) || (evt.getKeyCode() >= 97 && evt.getKeyCode() <= 121) || (evt.getKeyCode() >= 0 && evt.getKeyCode() <= 9)) {    
            //qualquer coisa que eu queria  
        }   
    }

Onde:

(evt.getKeyCode() >= 65 && evt.getKeyCode() <= 90) —> Código tabela ascii para letras em caixa alta
(evt.getKeyCode() >= 97 && evt.getKeyCode() <= 121) —> Código tabela ascii para letras em caixa baixa
(evt.getKeyCode() >= 0 && evt.getKeyCode() <= 9) —> Valor das teclas numericas (não tenho certeza)

Té mais.

A

interessante, vou testar e dar uma olhada nessa tabela ascii pois nao conhecia!
Grato.

Criado 9 de fevereiro de 2012
Ultima resposta 10 de fev. de 2012
Respostas 4
Participantes 3