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

时间:2015-10-04 13:46:09

标签: java processing awtrobot

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

因为在Robot类中我是否想像这段代码一样设置鼠标位置

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();
    }
  }
}

但它没有用。我认为这是因为&#34; mouseY&#34;鼠标在窗口中的位置但moseMove()将根据显示器屏幕的位置设置鼠标。

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

1 个答案:

答案 0 :(得分:4)

使用java.awt.MouseInfo - getPointerInfo()

  

返回一个PointerInfo实例,该实例表示鼠标指针的当前位置。[...]

您可以使用它来读取当前的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();
    }
  }
}