日期:2014-05-20  浏览次数:20592 次

关于JPanel响应键盘事件的问题!高分求解!在线等待

在写一个俄罗斯方块游戏,JPanel游戏面板键盘监听不知哪里出了错,一直没有响应,下面是我的代码,各位大哥给小弟看一看,先在这里谢谢各位了!

class jframe extends JFrame
{  
  public static JPanel gamecanvas,nextcanvas; 
setVisible();

gamecanvas.addKeyListener(new control());
gamecanvas.requestFocus();
}
class control
{
control()//为gamecanvas1.addKeyListener(new control());创建实例对象
{
}
int control(int currentbutton)//这是另一构造函数
{
……
}
public void keyPressed(KeyEvent e)

  if(B.isgameplay) 
  {  
  switch(e.getKeyCode())
  { 
  case KeyEvent.VK_UP:B.turnblock();break; 
  case KeyEvent.VK_DOWN:B.blockdown();break; 
  case KeyEvent.VK_LEFT:B.moveleft();break; 
  case KeyEvent.VK_RIGHT:B.moveright();break; 
  } 
  }
  else return;
  } 
  public void keyTyped(KeyEvent e)
  {
  }
  public void keyReleased(KeyEvent e)
  {
  } 
}

游戏面板在jframe中创建,注册了键盘监听器,键盘监听事件在另一个类control中处理,改来改去也不知道哪里出错,跪求各位大哥帮忙啊!!!!!!!
几天的BUG,非常急,在线等待,快来人啊



------解决方案--------------------
main放哪没什么关系吧,代码发来看看。
------解决方案--------------------
探讨
老大,B我实例化了的啊,放在另一个构造函数control(int)里面实例化的。