java - java中的系统覆盖Keylistener

标签 java focus overlay keylistener

有没有办法在 Java 中创建一个在程序窗口本身之外工作的键监听器?我希望它一直运行,如果你按下某个按钮/组合,它会执行一些代码行,无论你在哪个窗口。 Java有这个能力吗?

最佳答案

以防万一,这是我很久以前发现的一些东西,它让我再次思考这个问题:

JNativehook是一个库,允许您使用 Java 监听系统范围内的按键事件。

这是一些示例 code来自他们的 github实现一个简单的键监听器:

import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

public class GlobalKeyListenerExample implements NativeKeyListener {
    public void nativeKeyPressed(NativeKeyEvent e) {
        System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
    }

    public static void main(String[] args) {
        try {
            GlobalScreen.registerNativeHook();
        }
        catch (NativeHookException ex) {
            System.exit(1);
        }

        GlobalScreen.addNativeKeyListener(new GlobalKeyListenerExample());
    }
}

关于java - java中的系统覆盖Keylistener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25210057/

相关文章:

iphone - iPhone 上视频之上的 OpenGL 层?

windows - 无论如何让程序共享 Windows 资源管理器图标覆盖?

GWT Overlay 深拷贝

java:检查服务器是否有特定文件?

java - Swing 使 JButton 不可聚焦

java - 如何使 Swing 文本区域在加载后立即获得焦点?

linux - wmctrl 打开没有焦点的窗口

java - 如何在 slf4j Logger 中启用调试?

java - 用 Java 中的循环替换预先声明的变量 - Android

java - 如何使用java获取页面排名