对不起,对于双重发布,已经发布了一次这个问题,但我意识到我不够明确。我仍然没有设法找到我的问题的答案,所以我会在这里更好地描述我的问题:
我有以下课程:
public class Paddle extends JLabel {}
public class Canvas extends JPanel implements Runnable {}
现在,当我启动Canvas中描述的线程时,我想要一个无限循环(退出程序时循环)。在这个循环中,我有一个DIRECTION变量。当按下左箭头键时,我希望将其设置为-1。如果按下右箭头键,我希望+1为它的值。如果上述两种情况都不成立,则其值应为默认值0。
我希望这次我更明确。如果没有,请告诉。
答案 0 :(得分:0)
嗯,要获得击键,你需要有一个实现KeyListener
的类像这样:
public class MyKeyListener implements KeyListener, MouseListener{
int direction = 0;
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_LEFT) direction = -1;
else if(e.getKeyCode() == KeyEvent.VK_RIGHT) direction = 1;
}
public void keyReleased(KeyEvent e) {
direction = 0;
}
}
然后在初始化代码中(例如,在JPanel派生类的构造函数中),将键侦听器设置为MyKeyListener类的实例
MyKeyListener mk = new MyKeyListener();
this.addKeyListener(mk);
在你的循环中,你只需看看mk的方向;