Problema com keytyped

ola,

estou a varias horas fazendo pesquisas no guj mas nao achei uma resposta
esse codigo funciona

public void keyTyped(KeyEvent e) {
    e.consume();
}

mas quando eu adiciona esta instrucao if nao funciona

public void keyTyped(KeyEvent e) {
    if(e.getKeyCode() == 107){
        e.consume();
    }   
}

sera que e pq “e.getKeyCode()” nao esta retornando nehum valor ?
alias “e.setKeyCode(13)” tb nao funciona

se alguem puder me ajudar ficarei grato !!!

e.getKeyCode retorna uma constante da classe KeyEvent. Algo como:

public void keyTyped(KeyEvent e) {
    if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
        System.exit(0);
    }   
}

[quote=marcobiscaro2112]e.getKeyCode retorna uma constante da classe KeyEvent. Algo como:

public void keyTyped(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_ESCAPE){ System.exit(0); } } [/quote]
eu fiz o teste e
mesmo assim nao esta funcionando

a outra coisa quando eu digito
o mesmo codigo no keyPressed funciona
menos o “e.consume” pq no keyPressed a tecla ja foi executada

alguem pode me ajudar?

Você adicionou o listener corretamente? Por exemplo:

JFrame janela = new JFrame("Teste");
janela.setBounds(50, 50, 300, 300);
janela.addKeyListener(this); // você fez algo como isso??
janela.setVisible(true);

[quote=marcobiscaro2112]Você adicionou o listener corretamente? Por exemplo:

JFrame janela = new JFrame("Teste"); janela.setBounds(50, 50, 300, 300); janela.addKeyListener(this); // você fez algo como isso?? janela.setVisible(true); [/quote]
Sim ja add esse codigo

por ex. seu e coloco

System.exit(0);

funciona
mas seu eu coloco

if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
    System.exit(0);
}

ai ja nao funciona

Documentação da classe KeyEvent:

[quote=marcobiscaro2112]Documentação da classe KeyEvent:

[quote]
getKeyCode

public int getKeyCode()

Returns the integer keyCode associated with the key in this event.

Returns:
    the integer code for an actual key on the keyboard. ([b][i]For KEY_TYPED events, the keyCode is VK_UNDEFINED.[/i][/b])

[/quote][/quote]

sim retorna um inteiro mas mas mesmo colocando o codigo da tecla nao funciona

Você não entendeu o que quis dizer: quando é um evento do tipo KEY_TYPED SEMPRE retorna VK_UNDEFINED. Não vai dar para fazer comparações com o valor da tecla nos métodos keyTyped (só em kryPressed e em keyReleased).

ah ta foi mal
mas intao como faço pra saber que tecla que foi pressionada antes
de ela realizar sua funcao ?

consegui finalmente !!!

if (e.getKeyChar() == (char) 43) { e.consume(); if (ValidaValor()) { ExecOperacoes("adicao"); } } vlw pela ajuda.