【问题标题】:Add Arrow Keylistener to a Jframe that implements ActionListener将 Arrow Keylistener 添加到实现 ActionListener 的 Jframe
【发布时间】:2012-06-07 15:39:23
【问题描述】:

我正在开发一个 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) {

        }

    });

非常感谢任何帮助。 谢谢

【问题讨论】:

    标签: java swing events jframe keylistener


    【解决方案1】:

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

    【讨论】:

    • 键绑定比 KeyListener 有用得多
    猜你喜欢
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多