keylistener java,KeyListener在Java中不起作用

I want to be able to receive input from the keyboard by the user but I've added everything I thought would allow my program to do this and still it does not work. What am I doing wrong?

class KeyInput implements KeyListener {

public void keyPressed(KeyEvent e) {

System.out.println("keyPressed");

}

public void keyReleased(KeyEvent e) {

System.out.println("keyReleased");

}

public void keyTyped(KeyEvent e) {

System.out.println("keyTyped");

}

}

public GameView() {

this.addKeyListener(new KeyInput());

}

The constructor works fine and KeyInput is an inner class of the GameView object.

When running the game, if I press a key nothing gets printed to the system output.

Am I missing something? Thanks!

解决方案

KeyListener is fickle mistress, it wants a lot of attention all the time. Basically, it will only raise key events if the component it is registered to has focus AND is focusable.

Generally, you want to avoid using it and use key bindings API instead, How to Use Key Bindings, but this will depend on whether you MUST use pure AWT APIs or not....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值