我正在开发一个应用程序,它要求我在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
}
希望我对我的问题足够清楚。请帮忙
答案 0 :(得分:0)
在我看来,你想做的事是不可能的。在另一个软键中,软键和菜单(如果添加了多个命令)中始终有取消命令。
要获得正确的keyCode
,要为软键设置另一个功能,您应该获得正确的keyCode
。在方法keyReleased
System.out.println("keycode " + keyCode);
答案 1 :(得分:0)
如果要进行自定义键/菜单处理,则需要替换MenuBar
类。只需将MenuBar
子类化,然后在LookAndFeel
。