没有gui的MouseListener

时间:2014-12-14 20:37:08

标签: java mouselistener

得到了我的第一个问题,就在这里。

我在java编程并制作一个litte程序,我想跟踪鼠标事件并做一些统计。例如,右/左点击次数,移动次数,双击次数,平均值等等。

然而,我没有能够制作一个小程序,并且在后台运行时没有任何gui组件。我无法测试我的程序并让它(例如)在控制台中打印行(在eclipse中),以便从鼠标中获取事件而不需要使用gui。

我没有找到任何在没有JPanel的情况下使用mouselistener的地方,或者在没有gui的情况下我可以使用mouselistener的地方。在java中是不可能的,还是有办法解决这个问题?

提前致谢!

2 个答案:

答案 0 :(得分:2)

虽然这可以通过Java使用JNI或JNA或其他工具来完成,以使Java更接近操作系统,但请理解Java已经构建为尽可能与操作系统无关 - 换句话说它的构建是为了在不跳过所提到的箍的情况下很难做到这一点。我认为,您最好的选择是使用 更接近操作系统的工具,例如C ++ for all或C#或AutoIt(我建议后者高度重视),如果Windows和其他类似的工具对于其他操作系统。

答案 1 :(得分:0)

尽管所有@ hovercraft-full-of-eels(正确)都说过,但仍然可以没有任何原生代码。

但是,您必须民意调查以获取鼠标事件,而不是倾听

试试这个:

import java.awt.MouseInfo;

public class MouseWithoutGUI {  
    public static void main(String[] args) throws Exception {
        while (true) {
            System.out.println(MouseInfo.getPointerInfo());
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

你可以在这样的轮询循环上编写一个基于事件的系统,使看起来像你正在听事件。

我知道它有很多缺点。但它可能足以满足您的需求。