Ajuda ... Teclas númericas

Aonde esta o erro???
assim eu naum to conseguindo colocar as tecla numericas do jeito correto
se eu aperto o 5 escreve o 5 numa String
mais naum esta funcionando

vou mandar uma perte do codigo
public void keyPressed(int keyCode)
{
int tecla = getGameAction(keyCode);
switch(tecla){
case KEY_NUM0:
numTest = “0”;
break;
case KEY_NUM1:
numTest = “1”;
break;
case KEY_NUM2:
numTest = “2”;
break;
case KEY_NUM3:
numTest = “3”;
break;
case KEY_NUM4:
numTest = “4”;
break;
case KEY_NUM5:
numTest = “5”;
break;
case KEY_NUM6:
numTest = “6”;
break;
case KEY_NUM7:
numTest = “7”;
break;
case KEY_NUM8:
numTest = “8”;
break;
case KEY_NUM9:
numTest = “9”;
break;
}
repaint();
}

Obs ja tentei com Ifs tbm
e nada

Outro modo que eu tentei
esse com GameCanvas

public void paint(Graphics g) {
g.setColor(0, 0, 0);
g.fillRect(0, 0, getWidth(), getHeight());
imgJogo.setX(this.x_jog);
imgJogo.setY(this.y_jog);
imgJogo.desenha(g);
keyPressed();
g.setColor(0, 0, 255);
g.fillRect(0, 40, getWidth(), 30);
g.setColor(0, 0, 0);
g.drawString(numTest, 10, 40, 0);
}
public void keyPressed()
{
int tecla = getKeyStates();
switch(tecla){
case KEY_NUM0:
numTest = “0”;
break;
case KEY_NUM1:
numTest = “1”;
break;
case KEY_NUM2:
numTest = “2”;
break;
case KEY_NUM3:
numTest = “3”;
break;
case KEY_NUM4:
numTest = “4”;
break;
case KEY_NUM5:
numTest = “5”;
break;
case KEY_NUM6:
numTest = “6”;
break;
case KEY_NUM7:
numTest = “7”;
break;
case KEY_NUM8:
numTest = “8”;
break;
case KEY_NUM9:
numTest = “9”;
break;
}
repaint();
}

e nada di novo

Obrigado

e outra coisa
a Classe
Canvas não aceita Txtfield né???

Uma coisa que pode estar acontecendo é que == não compara String e sim equals(). Não sei se tem relação, mas acho que pode ter.

samuelm7

intaum naum sei se estou certo
mais pelo o que entendi
as teclas é inteiro

intaum pelo que eu achei ate agora as comparações são
em
switch
case

if((tecla & KEY_NUM8)!= 0)

ate agor foi o que eu achei
mais nunca da certo

Abraços e Obrigado

Estas a usar o Canvas ou o GameCanvas?

No primeiro exemplo estas a tentar obter o nome do “Game Action”, e como
está na API no GameAction nao fazem parte as teclas KEY_NUM0, KEY_NUM1 etc

Portable applications that need arrow key events and gaming-related events should use game actions in preference to key codes and key names. MIDP defines the following game actions: UP, DOWN, LEFT, RIGHT, FIRE, GAME_A, GAME_B, GAME_C, and GAME_D.

O que podes fazer no primeiro exemplo é o seguinte:

public void keyPressed(int keyCode) {
switch(keyCode) {
case: KEY_NUM0:
numTest="0";
break;
}

isto funciona no Canvas, para poderes utilizar o metodo “keyPressed” no GameCanvas
tens de utilizar o seguinte no método contrutor:

super(false);

Isto permite activar o metodo keyPressed no GameCanvas, que é o metodo que te permite
obter os “keyCodes”.