我是编程的初学者,我一直在研究一个小项目,众所周知的叫做Tetris的游戏,我遇到了这个小问题,我希望你能帮助我解。我导入了:import java.awt.event.KeyAdapter和 import java.awt.event.KeyEvent能够使用我的键盘玩游戏,但是当我扩展我创建的课程以使用密钥时,它向我显示错误!在java中使用keyAdapter和keyEvent时出错
下面是代码:
addKeyListener(new TAdapter());
错误发生在这里说这样的:
The method addKeyListener(keyListener) in the type Component is not applicable for the arguments(Board.TAdapter)
类TAdapter扩展keyAdapter {//第二个发生在这里:keyAdapter不能//解析为键入 public void keyPressed(keyEvent e){//第三种情况发生在这里:keyEvent //无法解析为某个类型
if (!isStarted || curPiece.getShape() == Tetrominoes.NoShape) {
return;
}
int keycode = e.getKeyCode();
if (keycode == 'p' || keycode == 'P') {
pause();
return;
}
if (isPaused)
{return;}
switch (keycode) {
case KeyEvent.VK_LEFT:
tryMove(curPiece, curX - 1, curY);
break;
case KeyEvent.VK_RIGHT:
tryMove(curPiece, curX + 1, curY);
break;
case KeyEvent.VK_DOWN:
tryMove(curPiece.rotateRight(), curX, curY);
break;
case KeyEvent.VK_UP:
tryMove(curPiece.rotateLeft(), curX, curY);
break;
case KeyEvent.VK_SPACE:
dropDown();
break;
case 'd':
oneLineDown();
break;
case 'D':
oneLineDown();
break;
}
}
2014-06-25
jym338
+2
任何拼写:不使用keyEvent/listeners。相反,使用keyBindings通过actionMap/inputMap –