2

我正在开发一个 java 应用程序。我想在箭头键上实现一个 KeyListener。我有一个扩展 JFrame 并实现 ActionListener 的类

public class MyClass extends JFrame implements ActionListener{
}

如何在此框架中的箭头键上添加键盘侦听器?

我尝试在构造函数中执行以下操作,但没有成功:

    this.addKeyListener(new KeyListener() {

        @Override
        public void keyPressed(KeyEvent e) {
            if(e.getKeyCode() == KeyEvent.VK_UP)
            {
               //DO Some things
            }
        }

        @Override
        public void keyTyped(KeyEvent e) {

        }

        @Override
        public void keyReleased(KeyEvent e) {

        }

    });

任何帮助是极大的赞赏。谢谢

4

1 回答 1

5

这可以通过在使 JFrame 可聚焦后为其提供焦点来解决,但是一旦失去焦点,KeyListener 将无法工作。我的主要建议是不要使用 KeyListener 而是使用 Key Bindings,因为这些函数是更高级别的构造,并且可以很好地与 Swing 应用程序配合使用,尤其是在获得和失去焦点方面。关于这个主题有很多类似的帖子,如果你坚持下去,我会给你一些链接。

于 2012-06-02T22:49:52.783 回答