Java me 使用GameCanvas在J2ME中获取按键

Java me 使用GameCanvas在J2ME中获取按键,java-me,keypress,midp,lcdui,Java Me,Keypress,Midp,Lcdui,我想知道(例如)是否按了3键(key\u NUM3)。 我尝试了getKeyStates,但它只检测游戏动作键。 如何获取非游戏动作键的状态? (我已经覆盖了Canvas的按键和按键释放功能,并将按键状态存储在一个数组中(我使用向量进行存储,但我认为如果这是问题的话,也可以将它们存储在一个数组中),但这似乎不是很好)在按下的键中,使用像这样传入的keyCode protected void keyPressed(int keyCode) { //try catch getGameAct

我想知道(例如)是否按了3键(
key\u NUM3
)。
我尝试了
getKeyStates
,但它只检测游戏动作键。
如何获取非游戏动作键的状态?

(我已经覆盖了Canvas的
按键
按键释放
功能,并将按键状态存储在一个数组中(我使用
向量
进行存储,但我认为如果这是问题的话,也可以将它们存储在一个数组中),但这似乎不是很好)

在按下的键中,使用像这样传入的
keyCode

protected void keyPressed(int keyCode)
{
    //try catch  getGameAction as can legally throw an exception
    int gameAction = getGameAction(keyCode);

    switch(gameAction)
    {
        case UP:
            break;
        case DOWN:
            break;
        case LEFT:
            break;
    }

    switch(keyCode)
    {
        case KEY_NUM1:
            break;
        case KEY_NUM2:
            break;
        case KEY_NUM3;
            break;
    }
}
我想那是可能的 类似下面的代码

int key=getKeyStates();
// i mean keyStates();
if((key&down_pressed)!=0)
{
//do movements
}
但是可以

if((key & Canvas.key_num3)!=0)
{
//do something
}

//you can set the super() to true in the constructor