public void keyStrokeActions(){
screen.setFocusable(true);
screen.getInputMap().put(KeyStroke.getKeyStroke("pressed SPACE"),"attackAction");
screen.getActionMap().put("attackAction",attackAction);
screen.getInputMap().put(KeyStroke.getKeyStroke("pressed P"),"pauseAction");
screen.getActionMap().put("pauseAction",pauseAction);
}
我正在努力使这项工作,因为你可以看到它是一个简单的keyStroking屏幕是一个JPanel。 attackAction和pauseAction操作之前定义为全局变量。
在Windows中,一切都运行得很好,但是在Mac中却没有。无论按下按键,它都没有反应。我也试过
screen.getInputMap().put(KeyStroke.getKeyStroke(' ',0),"attackAction");
和
screen.getInputMap().put(KeyStroke.getKeyStroke(' '),"attackAction");
但我无法让它发挥作用。不是''或'P'或任何其他类型的char。任何人都可以带来一些亮点吗?
谢谢, 塞吉。
答案 0 :(得分:0)
经过大量的工作后,我发现如果它在Mac上有效,它就不会在Windows上运行,如果它在Windows中有效,那么它就不会在Mac上运行。所以,基本上,java的多平台只要虚拟机很好用就可以了。