它甚至不会将键打印到命令提示符下。 提前谢谢。
这是密钥侦听器的类
public static class KeyWatch extends KeyAdapter implements KeyListener
{
int x;
int y;
public KeyWatch(int x, int y)
{
x=this.x;
y=this.y;
}
public void keyPressed(KeyEvent e)
{
int keyCode = e.getKeyCode();
if(keyCode==KeyEvent.VK_UP)
{
System.out.println("up");
y=y+20;
}
if(keyCode==KeyEvent.VK_DOWN)
{
System.out.println("Down");
y=y-20;
}
if(keyCode==KeyEvent.VK_RIGHT)
{
System.out.println("Right");
x=x+20;
}
if(keyCode==KeyEvent.VK_LEFT)
{
System.out.println("Left");
x=x-20;
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
这是断章取义的窗口中的调用
window.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
KeyWatch watcher = new KeyWatch(x, y);
playerlabel = new JLabel(player);
playerlabel.addKeyListener(watcher);
playerlabel.setLocation(x, y);
window.add(playerlabel(;
无论如何,重点是在窗口周围移动Jlabel。
任何帮助,不胜感激。
您需要使标签获得焦点:
playerLabel.requestFocus();
在添加密钥侦听器、标签已添加到视图层次结构并变得可见后调用此函数。