Java鼠标监听器

时间:2013-12-18 04:17:06

标签: java eclipse mouse pressed

这可能听起来很简单和愚蠢,但对于我的生活,我找不到一种方法来让鼠标监听器做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");
    }
}

它不会在鼠标按下时打印文本,我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:3)

Java Mouse侦听器仅适用于swing / awt组件,也适用于同一个运行进程。

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

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