Привет
Я пишу простой калькулятор j2me.используя GameCanvas класс в качестве основы моего интерфейса.Мне нужно обрабатывать как ключевые события цифровой клавиатуры, так и связанные с игрой события (такие как UP , DOWN , FIRE и т. Д.) Для перемещения моего курсора.Проблема в том, что ни эмулятор, ни мой Sony Ericsson не получают никаких событий от numpad и игр.Например, я получаю SOFT1 , SEND , 2 , 4 , ASTERISK события нажатия клавиши, но нене получите 1 , 3 , ВЛЕВО , ВПРАВО , ВВЕРХ , ВНИЗ , ОГОНЬ события.
class CalculatorCanvas extends GameCanvas
{
public CalculatorCanvas() throws java.io.IOException
{
super(true);
setFullScreenMode(true);
cursor = new Sprite(Image.createImage("/cursor.png"));
}
public void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0, 0, getWidth(), getHeight());
cursor.paint(g);
}
protected void keyPressed(int keyCode)
{
System.out.println("keyPressed: " + getKeyName(key));
if (keyCode == getKeyCode(RIGHT))
cursor.move(STEP, 0);
if (key == getKeyCode(LEFT))
cursor.move(-STEP, 0);
/*...*/
repaint();
}
private final int STEP = 3;
private Sprite cursor;
}
Как я могу получить все эти события?
Заранее спасибо
PS Я обнаружил, что Холст (базовый класс для GameCanvas ) повторяет все эти события, но я должен использовать GameCanvas