读书人

请问:为什么不响应键盘事件呢

发布时间: 2011-12-30 23:30:45 作者: rapoo

请教:为什么不响应键盘事件呢
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);          }   } 

读书人网 >J2SE开发

热点推荐