当前位置: 代码迷 >> J2SE >> 请问:为什么不响应键盘事件呢
  详细解决方案

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

热度:102   发布时间:2016-04-24 12:52:34.0
请教:为什么不响应键盘事件呢
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);          }   }
  相关解决方案