Java鼠标侦听器



这听起来可能很简单也很愚蠢,但就我而言,我找不到一种方法让鼠标监听器在不必在组件上的情况下执行mousePressed。void mousePressed(){}似乎没有按我希望的方式工作。

从本质上讲,我正在制作一个java程序,它的目标是在没有图形的情况下工作,并在后台进行操作。因此,例如,如果你点击chrome,它仍然会影响程序。

我尝试的是这个,我意识到这是非常不正确的。

class MKeyListener extends KeyAdapter {
    @Override
    public void keyPressed(KeyEvent e) {
        moveMouse.playing = false;
    }
}

正如建议的那样,我尝试了JNativeHook库,但它似乎没有按照我认为的方式工作:

public class mousepresstest implements NativeMouseInputListener{
    @Override
    public void nativeMouseClicked(NativeMouseEvent e) {
        System.out.println("worked");
    }
}

它没有在按下鼠标时打印文本,我是不是遗漏了什么?

Java鼠标侦听器仅适用于swing/awt组件,也适用于来自同一运行进程的组件。

如果您想监听其他应用程序的鼠标/键盘事件,请使用JNativeHook图书馆您可以安装全局键盘挂钩,并监听按键或鼠标事件的鼠标挂钩。您不需要使用Swing或其他GUI类。

在内部,JNativeHook使用JNI来提供这些功能。

相关内容

  • 没有找到相关文章

最新更新