Java JLabel don'的KeyListener;我不工作

Java JLabel don'的KeyListener;我不工作,java,eclipse,keylistener,Java,Eclipse,Keylistener,我的代码有问题,当我按下向上或向下箭头时,什么也没有发生。 这是我的密码,对不起,我的英语。 这是球拍1的零件,球拍2的零件与此类似 //--->Racket 1 : Racket1.addKeyListener(this); Racket1.setBounds(50, 200, 16, 100); //<----- setBounds (Placer position du JLabel x,y + taille de la plateforme x,y)

我的代码有问题,当我按下向上或向下箭头时,什么也没有发生。 这是我的密码,对不起,我的英语。 这是球拍1的零件,球拍2的零件与此类似

//--->Racket 1 :
    Racket1.addKeyListener(this);
    Racket1.setBounds(50, 200, 16, 100);   //<----- setBounds (Placer position du JLabel x,y + taille de la plateforme x,y)
    Racket1.setBackground(Color.white);
    Racket1.setOpaque(true);
    Racket1.setFocusable(true);            //<----- Permet d'utiliser KeyListener Pour un JLabel
    Racket1.requestFocus();

您的问题可能是JLabel不是焦点所有者。默认情况下,JLabel不可聚焦。你需要打电话

yourLabel.setFocusable(true);
yourLabel.requestFocus();

然后它应该会工作。

不要使用键盘侦听器。一次只能有一个部件有焦点,所以你只能移动一个球拍

相反,您应该使用
KeyBindings
<代码>键绑定用于将
操作
绑定到
击键
,组件不需要焦点


查看更多信息。
KeyboardAnimation.java
甚至有一个使用两个标签的示例。

球拍的作用是什么?您可能需要更具体地了解其行为,以及您尝试了什么。你检查过keyPressed()方法是否被调用了吗?球拍应该是moove有一个pong gamemacserv的两个球拍我真的不明白你的问题是什么意思(我正在编程)我做到了,我的JLabel是可聚焦的,我使用了函数setFocusable和requestfocus。如果有两个球拍,你只能用这种方法移动一个球拍。不要使用KeyListener!
yourLabel.setFocusable(true);
yourLabel.requestFocus();