Problema no Evento KeyPressed ou no código ASCII [Resolvido

Dae povo

Vejam esse código antes tudo:

if (e.getKeyCode() == 27) funApagar(); else if (e.getKeyCode() == 48) funNumero("0"); etc...

Bom o código ascii do ESC (27) dá certinho, independente de onde esteja o foco o esc vai funcionar, agora o 48 (que representa o número 0 do teclado númerico) não funciona, nem o enter ou qualquer outra tecla que tenha dois no teclado, os número e os enters nào funcionam com esse tipo de código!!! Alguém poderia me dar uma luz praesse problema!!?? Ou será que o teclado númerico tem outro tipo de código ascii!??

Obrigado
T+

Pilantra :cool:

nao se fica colocando os numeros, se vc quer o esc, ponha KeyEvent.VK_ESCAPE, e pro 0 do numpad vc poe KeyEnevt.VK_NUMPAD0… alem de evitar alguns problemas que pode ocorrer usando os numeros (pode variar de sistema para sistema, usando as constantes vc nao precisa se preocupar com isso), vc nao precisa ficar descobrindo o valor de cada tecla…

nesse link diz todas as constantes da classe KeyEvent:

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/KeyEvent.html

Ah cara eh verdade, no VB tem esse esquema também, o enter seria VbKeyReturn, eu sempre usei isso no VB e nunca usei o código ascii, achei que o Java não tinha isso também!!!

Mas veja só, estou setando na interface KeyListener e retorna erro:

public void keyPressed(KeyEvent e) { if (KeyEvent.VK_ESCAPE) funC(); if (KeyEvent.VK_ENTER) funIgual(); }

E o erro na hora de compilar:

bash-2.05b$ javac Principal.java Principal.java:414: incompatible types found : int required: boolean if (KeyEvent.VK_ESCAPE) ^ Principal.java:416: incompatible types found : int required: boolean if (KeyEvent.VK_ENTER) ^

Eu vou dar uma pesquisada aqui no site da sun mas se souber eu agradeço a ajuda!!!

Obrigado :wink:

Amigo achei uma coisinha no site da sun, da uma zoiada:

public void keyPressed(KeyEvent e) { int id = e.getID(); if (id == KeyEvent.VK_ESCAPE) funC(); else if (id == KeyEvent.VK_ENTER) funIgual(); }

Quando compila não da erro, porém não funciona!!! :cry:
Alguma idéia!?

Consegui!! Fiz umas trocas!!!

Isso:

int id = e.getID(); if (id == KeyEvent.VK_ESCAPE) funC(); else if (id == KeyEvent.VK_ENTER) funIgual();

Por isso:

int id = e.getKeyCode(); if (id == KeyEvent.VK_ESCAPE) funC(); else if (id == KeyEvent.VK_ENTER) funIgual();

Funciono perfeitamente!!! Obrigado pela ajuda!!