Java 声明KeyEvent
我想做一个游戏,让一个正方形用箭头键旋转,但我无法声明 看到了吗Java 声明KeyEvent,java,applet,jframe,keyevent,Java,Applet,Jframe,Keyevent,我想做一个游戏,让一个正方形用箭头键旋转,但我无法声明 看到了吗 public void moveIt(/*Won't work here, since its started on run method*/) { KeyEvent evt=/*???*/; //how do i declare this keyevent? switch (evt.getKeyCode()) { case KeyEvent.VK_DOWN: myY += 5;
public void moveIt(/*Won't work here, since its started on run method*/) {
KeyEvent evt=/*???*/; //how do i declare this keyevent?
switch (evt.getKeyCode()) {
case KeyEvent.VK_DOWN:
myY += 5;
break;
case KeyEvent.VK_UP:
myY -= 5;
break;
case KeyEvent.VK_LEFT:
myX -= 5;
break;
case KeyEvent.VK_RIGHT:
myX += 5;
break;
}
}
myX
和myY
是矩形在另一种方法中使用的坐标
顺便说一下,我对java还不熟悉。这是我的第一种编程语言。简单的回答是,您不声明一个
KeyEvent
。KeyEvent
由用户按键生成。然后,键侦听器
会拾取该事件,您可以在其中放置处理键事件的逻辑
public class MyClass extends JPanel implements KeyListener
{
// Add your intialization code here
@Override
public void keyTyped(KeyEvent e)
{
switch (evt.getKeyCode())
{
case KeyEvent.VK_DOWN:
myY += 5;
break;
case KeyEvent.VK_UP:
myY -= 5;
break;
case KeyEvent.VK_LEFT:
myX -= 5;
break;
case KeyEvent.VK_RIGHT:
myX += 5;
break;
}
}
}
看一看。你错过了一个技巧,复习基础知识可能会让你重回正轨。但是我怎么才能称这种方法为另一种方法呢?你读过教程了吗?读一下。KeyListener的全部意义在于它监听关键事件!您根本不直接调用此方法。您需要立即阅读教程,因为您认为正在发生的事情显然不是正在发生的事情。JFrame对于KeyEvents不可聚焦