【问题标题】:addKeyListener to Jpanel将KeyListener添加到Jpanel
【发布时间】:2013-12-24 23:45:01
【问题描述】:

我想将addKeyListener 转换为JPanel,但是当我同时按下两个键时,只执行其中一个键。这个问题的解决方法是什么 - 同时按下两个键?

我有一个扩展 JPanel 的类

this.addKeyListener(new KeyListener() {

public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
public void keyPressed(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.VK_W) {
            upPlayer2();
    }  if (e.getKeyCode() == KeyEvent.VK_A ){

            leftPlayer2();
        }

}
    });

谢谢。

【问题讨论】:

  • 我知道您已经尝试过,但请您向我们展示一下 :) 以便我们了解您已经尝试过并且对正在解决的问题了解最少
  • 我已经编辑了帖子。谢谢。
  • 这个答案可能对你有帮助:stackoverflow.com/a/753078/1068167
  • Keyevents 一次触发一个,带/不带掩码(alt、ctrl 等)。您的代码将不起作用,e 是一个事件,它不可能是对 keyTyped 的同一次调用中的另一个事件。

标签: java swing animation keylistener


【解决方案1】:

不要使用 KeyListener。 Swing 旨在与键绑定一起使用。

有关更多信息和解决方案,请参阅Motion Using the Keyboard

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多