Java 键盘听者在JApplet中不点火
当我键入、按下或释放一个键时,不会发生任何事情。我正在尝试使用此关键字添加keylistener。当我添加鼠标侦听器时,它工作得很好Java 键盘听者在JApplet中不点火,java,swing,japplet,Java,Swing,Japplet,当我键入、按下或释放一个键时,不会发生任何事情。我正在尝试使用此关键字添加keylistener。当我添加鼠标侦听器时,它工作得很好 class MainApplet extends JApplet implements KeyListener{ MainApplet(){ addKeyListener(this) } public void init(){} public void start(){} public void keyTyped(KeyEvent e) { //
class MainApplet extends JApplet implements KeyListener{
MainApplet(){ addKeyListener(this) }
public void init(){}
public void start(){}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
System.out.print(e);
}
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
KeyEvents仅为具有焦点的组件生成。小程序上没有组件具有焦点,因此没有组件可以接收KeyEvents 尝试以下方法:
Component contentPane = getContentPane();
contentPane.setFocusable(true);
contentPane.addKeyListener( this );
真正的问题是你想做什么?当我们知道真正的需求时,我们可能会提出更好的解决方案。通常,您将使用来侦听给定组件上的击键。KeyEvents仅为具有焦点的组件生成。小程序上没有组件具有焦点,因此没有组件可以接收KeyEvents 尝试以下方法:
Component contentPane = getContentPane();
contentPane.setFocusable(true);
contentPane.addKeyListener( this );
真正的问题是你想做什么?当我们知道真正的需求时,我们可能会提出更好的解决方案。通常情况下,您会在给定组件上侦听击键。我知道键绑定即将到来,所以我现在只给您+1;)@MadProgrammer,我们变得太可预测了:)我知道密钥绑定即将到来,所以我现在就给你+1;)@疯狂的程序员,我们变得太可预测了:)