2015-10-04 78 views
1

例如 如果鼠標在X座標上的位置超過400像素,則機器人將在X座標中將鼠標位置移動到350像素但是Y座標中的鼠標必須不受影響。如何在不改變Y座標的情況下在X座標中設置鼠標位置

因爲在機器人類,如果我想設置鼠標的位置這樣的代碼

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」是鼠標在窗口中的位置。但moseMove()會根據監視器屏幕的位置設置鼠標。

請給我一些建議,並非常感謝您的時間。

回答

2

隨着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(); 
    } 
    } 
} 
相關問題