java - 在背景框架上使用 Java KeyListener

标签 java swing events key-bindings keylistener

我有一个内容 Pane ,其中包含一个 JScrollPane 包裹在一个不可编辑的 JTextArea 周围,我正在使用它(现在)简单地显示有关正在按下的键的信息(只是试图让这个 KeyListener 工作)。

KeyListener 位于 JTextArea 上,当框架被选中时一切正常。但是,即使选择了另一个窗口,我也希望注册按键。有什么办法吗?

谢谢。

最佳答案

我以前做过,但我不记得具体是怎么做的。我认为它类似于:

KeyEventDispatcher dispatcher = new KeyEventDispatcher()
{
    public boolean dispatchKeyEvent(KeyEvent e)
    {
        System.out.println(e.getKeyChar());
        return false;
    }
};

DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(dispatcher);

只需使用您的自定义代码修改 SysOut。如果你想阻止事件被分派(dispatch),该方法应该返回 true 而不是 false。我还找到了this question这可能会解决您的问题。

关于java - 在背景框架上使用 Java KeyListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032112/

相关文章:

java - 如何在 Swing 中定义格式化文本字段,以便在您键入时应用格式限制?

c# - WPF 应用程序中的 Java Swing Windows "always on top"

android listview 监听器不起作用?

sockets - "Monad-friendly"基于事件的IO

Java Spring : getting error "Unknown property sub-element: <util:constant>"

java - 无法在目标定义中找到可安装单元

java - 列出从一个方法中调用的所有未实现的方法

java - 我无法清除 JTable 内容

java - Android 使用 Retrofit Service 将数据同步到内部存储

python - 如何从 Python 触发 Google Analytics 事件?