【问题标题】:How to smoothly move mouse cursor with Java?如何用Java平滑移动鼠标光标?
【发布时间】:2015-04-09 18:37:04
【问题描述】:

我正在尝试使用 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());
            }
        }
}

在此处,鼠标指针会根据手机的倾斜程度以更小或更大的步幅移动。但我希望它移动得更快或更慢。

【问题讨论】:

  • values 的值是多少?解析为int 时可能会失去准确性?我想这取决于moveMouse(x, y) 是否只接受'int's 作为参数

标签: java android awtrobot


【解决方案1】:

您要查找的内容称为插值,Google 上可能有很多结果。但基本情况是,您需要找出您的开始位置和结束位置之间的位置,并随着时间的推移移动它们。

或者,您似乎可以简单地缩小输入值。

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 2011-08-28
    • 2016-08-25
    相关资源
    最近更新 更多