KeyListener未在Applet中触发

时间:2013-12-20 01:34:15

标签: java swing japplet

键入,按下或释放键时没有任何反应。我正在尝试使用此关键字添加keylistener。当我添加一个鼠标监听器时,它工作正常。

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

}

}

1 个答案:

答案 0 :(得分:4)

仅为具有焦点的组件生成KeyEvents。您的applet上没有任何组件具有焦点,因此组件不能接收KeyEvent。

尝试类似:

Component contentPane = getContentPane();
contentPane.setFocusable(true);
contentPane.addKeyListener( this );

真正的问题是你想做什么?当我们知道真正的需求时,我们可以建议一个更好的解决方案。通常你会使用Key Bindings来监听给定组件的KeyStroke。