我创建了一个简单的Nibbles(Snakes)游戏,一切正常.
但是,当我将所有内容复制到我的Mac(在PC上开发)并编译相同的Java文件时,用于移动蛇的keyAdapter事件侦听器不会响应.
我不知道怎么了.
这是代码段,但是如果有人愿意看一下整个程序,我可以私下发送.谢谢!
<code>getThis().addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.VK_UP)
if(!glass.game.getDirection().equals("D"))
glass.game.setDirection("U");
if(event.getKeyCode() == KeyEvent.VK_DOWN)
if(!glass.game.getDirection().equals("U"))
glass.game.setDirection("D");
if(event.getKeyCode() == KeyEvent.VK_LEFT)
if(!glass.game.getDirection().equals("R"))
glass.game.setDirection("L");
if(event.getKeyCode() == KeyEvent.VK_RIGHT)
if(!glass.game.getDirection().equals("L"))
glass.game.setDirection("R");
}
});
</code>
解决方法:
使用KeyBindings代替KeyListener,在Swing JComponents中未指定KeyListener来监听KeyEvent,这是AWT组件的监听器,例如here
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!