覆盖keypressed和keyreleased后,软按钮没有响应

时间:2013-11-21 08:54:30

标签: java-me lwuit lwuit-command

我正在开发一个应用程序,它要求我在lwuit中覆盖keypressed和release方法,以便将特定的功能映射到游戏键中。

当我这样做时,游戏键工作正常,但我在向应用程序添加两个以上的命令时遇到了麻烦。通常,actionlistener会自动处理多个命令的映射,但事实并非如此。

是否可以将多个命令映射到软键(如使用键码-7),并使用if语句动态检查按下了哪个命令。

 public void keyReleased(int keyCode) {

      switch (keyCode) {
        case -6: // left cmd key
             function a();
            return;
        case -7: // right cmd key
//Need this to handle more than one command function

            return;

    }
   //function to handle gamekeys
}

希望我对我的问题足够清楚。请帮忙

2 个答案:

答案 0 :(得分:0)

在我看来,你想做的事是不可能的。在另一个软键中,软键和菜单(如果添加了多个命令)中始终有取消命令。

要获得正确的keyCode,要为软键设置另一个功能,您应该获得正确的keyCode。在方法keyReleased

中的第一行之前设置System.out.println("keycode " + keyCode);

答案 1 :(得分:0)

如果要进行自定义键/菜单处理,则需要替换MenuBar类。只需将MenuBar子类化,然后在LookAndFeel

中定义新类