当我键入、按下或释放按键时,没有任何反应。我正在尝试使用此关键字添加 key 监听器。当我添加鼠标监听器时,它工作得很好。
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 仅为具有焦点的组件生成。小程序上的任何组件都没有焦点,因此没有组件可以接收 KeyEvent。
尝试如下:
Component contentPane = getContentPane();
contentPane.setFocusable(true);
contentPane.addKeyListener( this );
真正的问题是你想做什么?当我们了解真正的需求时,我们可能会提出更好的解决方案。通常您会使用 Key Bindings监听给定组件上的 KeyStroke。
关于java - KeyListener 未在 JApplet 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694883/