如何用Java平滑移动鼠标光标?

时间:2015-04-09 18:37:04

标签: java android awtrobot

我试图使用Robot类根据我从Android设备通过蓝牙获取的加速计读数来移动鼠标指针。问题是鼠标光标逐步移动。我需要一种方法来平滑地移动它,就像物理拖动指针一样。这是我到目前为止所拥有的

@Override
public void serialEvent(SerialPortEvent serialPortEvent) {
        if(serialPortEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
            try {
                String inputLine = input.readLine();
                String[] values = inputLine.split(",");
                int x = Integer.parseInt(values[0])*(-1);
                int y = Integer.parseInt(values[1])*(-1);
                mouse.moveMouse(x, y);
                //System.out.println(inputLine);
            } catch (IOException e) {
                System.err.println(e.toString());
            }
        }
}

此处鼠标指针以较小或较大的步长移动,具体取决于手机的倾斜程度。但我希望它移动得更快或更慢。

1 个答案:

答案 0 :(得分:1)

您正在寻找的是插值,谷歌可能会有一堆结果。但基本原则是你需要确定哪些位置强于你的开始和结束位置,并随着时间的推移逐步进行。

或者,看起来您可以简单地缩小输入值。