public void keyPressed(KeyEvent e)
{
Person man=(Person)e.getSource(); // 返回事件源
if(e.getKeyCode()==KeyEvent.VK_KP_DOWN) // 判断是否按下了“↓”键
{
goDown(man);
}
if(e.getKeyCode()==KeyEvent.VK_KP_UP) // 判断是否按下了“↑”键
{
goUp(man);
}
if(e.getKeyCode()==KeyEvent.VK_KP_LEFT) // 判断是否按下了“←”键
{
goLeft(man);
}
if(e.getKeyCode()==KeyEvent.VK_KP_RIGHT) // 判断是否按下了“→”键
{
goRight(man);
}
}
进入调试状态 发现keyPressed方法执行是执行了,但if后面的语句都没执行,莫非if的条件写的不对吗?应该怎么写呢?
------解决方案--------------------
- Java code
public void keyPressed(KeyEvent e) { Person man=(Person)e.getSource(); // 返回事件源 int keyCode=e.getKeyCode(); if(e.getKeyCode()==KeyEvent.VK_KP_DOWN) // 判断是否按下了“↓”键 { goDown(man); } if(e.getKeyCode()==KeyEvent.VK_KP_UP) // 判断是否按下了“↑”键 { goUp(man); } if(e.getKeyCode()==KeyEvent.VK_KP_LEFT) // 判断是否按下了“←”键 { goLeft(man); } if(keyCode==KeyEvent.VK_RIGHT) // 判断是否按下了“→”键,static int VK_RIGHT 用于非数字键盘向右方向键的常量, 其他的你改一下试试。 { goRight(man); } }