如何在不改变 Y 坐标的情况下在 X 坐标中设置鼠标位置

How to set mouse position in X coordinate without changing the Y coordinate

例如 如果鼠标在 X 坐标中的位置超过 400 像素,则机器人会将鼠标的位置移动到 X 坐标中的 350 像素,但鼠标在 Y 坐标中的位置必须不受影响。

因为在机器人中class如果我想像这样设置鼠标位置代码

bot.mouseMove(350, 400);

在这段代码中,我也必须设置 Y 位置。 所以我想出了一些想法 像这样使用该代码中 Y 的最后位置

void draw(){
  if(mouseX<=5)
  {
    try
    {
    Robot bot = new Robot();
    bot.mouseMove(420, mouseY);
    }
    catch (AWTException e)
    {
    e.printStackTrace();
    }
  }
}

但这是行不通的。我想那是因为 "mouseY" 是鼠标在 window 中的位置 但是 moseMove() 会根据显示器屏幕的位置设置鼠标。

请给我一些建议,非常感谢您的宝贵时间。

使用 java.awt.MouseInfo - getPointerInfo()

Returns a PointerInfo instance that represents the current location of the mouse pointer.[...]

您可以使用它来读取当前 Y 位置并仅更改 X 值。您还可以更改以下代码以仅更改 Y 位置。

import java.awt.MouseInfo;

然后尝试:

bot.mouseMove(420, MouseInfo.getPointerInfo().getLocation().y);


对于您的代码,如下所示:

致电draw(SOMEVALUE, MouseInfo.getPointerInfo().getLocation().y);

void draw(int mouseX, int mouseY){
  if(mouseX<=5)
  {
    try{
        Robot bot = new Robot();
        bot.mouseMove(420, mouseY);
    }catch (AWTException e){
        e.printStackTrace();
    }
  }
}