例如 如果鼠标在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()将根据显示器屏幕的位置设置鼠标。
请给我一些建议,非常感谢你的时间。
答案 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();
}
}
}