java - 将箭头键监听器添加到实现 ActionListener 的 Jframe

标签 java swing events jframe keylistener

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

        }

    });

非常感谢任何帮助。 谢谢

最佳答案

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

关于java - 将箭头键监听器添加到实现 ActionListener 的 Jframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866501/

相关文章:

java - JTable刷新数据不显示

java - 在Android中生成强度范围内的振动模式的算法?

java - 如何在启动时设置默认@AuthenticationPrincipal

java - 可以以像素为单位呈现字体字符的 java JComponent

java - 什么 LayoutManager 可以将 JLabel 或 JTextField 的高度与其字体大小相匹配?

Java/Gradle 读取外部配置文件

java - 从 jlabel 中的 url 加载图像

android - 在 Android 中注入(inject)非英文字符

javascript - 用户停止输入后运行函数

wpf - 关闭命令 WPF