[英]Java KeyListener is not working in applet
谁能告诉我这是怎么回事? 我正在尝试使正方形上下移动。 当我运行小程序时,会在正确的位置创建正方形,但是当我按下UP键或DOWN键时,什么也没有发生。
package pong;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class pong extends Applet implements KeyListener
{
private Rectangle rect = null;
private int key = 0;
public void init()
{
rect = new Rectangle(0,0,10,10);
addKeyListener(this);
}
public void paint(Graphics g)
{
setSize(200,200);
Graphics2D g2 = (Graphics2D)g;
g2.fill(rect);
}
@Override
public void keyPressed(KeyEvent e)
{
key = e.getKeyCode();
}
public void update()
{
if(key == KeyEvent.VK_UP)
{
rect.setLocation(rect.x, rect.y - 2);
}
else if(key == KeyEvent.VK_DOWN)
{
rect.setLocation(rect.x, rect.y + 2);
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
您需要在keyPressed时调用更新方法
@Override
public void keyPressed(KeyEvent e)
{
key = e.getKeyCode();
update();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.