2013-02-05 13 views
7

पर राइट क्लिक नहीं किया जा सकता है। मैं रोबोट क्लास को स्क्रीन पर एक छवि पर राइट क्लिक करने की कोशिश कर रहा हूं ताकि मैं इसे सहेज सकूं। समस्या यह है कि मुझे रोबोट को सही क्लिक को सफलतापूर्वक अनुकरण करने के लिए प्रतीत नहीं होता है। मैं जो कर रहा हूं उसके कुछ नमूना कोड यहां दिए गए हैं।रोबोट क्लास को

ऐसा लगता है कि BUTTON2_DOWN_MASK स्क्रॉल व्हील के लिए मुखौटा है। जब भी मैं इस कोड को निष्पादित करता हूं तो यह पहले नियमित रूप से स्थान पर क्लिक करता है लेकिन फिर स्क्रोल व्हील सुपर फास्ट मूव सर्कल पॉप अप करता है और मुझे बताता है कि अब मैं हल्की गति पर स्क्रॉल कर सकता हूं, लेकिन मैं सही क्लिक चाहता था ..

कोड:

// This is the function I use to simulate a full click at location x,y on the screen 
// Rob is my Robot 
public void click(int x, int y, int mask) 
{ 
    rob.mouseMove(x, y); 
    sleepy(1000); 
    rob.mousePress(mask); 
    rob.mouseRelease(mask); 
} 

// This is the few lines of code that call this function 
// sleepy just calls the Thread.sleep function. 

sleepy(1000); // Wait one second 
click(705, 390, InputEvent.BUTTON1_DOWN_MASK); 
sleepy(1000); 
click(705, 390, InputEvent.BUTTON2_DOWN_MASK); 
sleepy(1000); 
+0

आप नींद के बजाय rob.delay (1000) को कॉल कर सकते हैं। –

उत्तर

13

राइट क्लिक के लिए InputEvent.BUTTON3_DOWN_MASK का उपयोग करें। बटन 2 जैसा कि आपने सही ढंग से माउस व्हील देखा है और बायाँ क्लिक बटन 1 है।

यह example देखें।

+0

ठीक है मुझे बेवकूफ महसूस नहीं करते ... आईडीक क्यों मैंने इसके बारे में सोचा नहीं है ... –

+0

मूल रूप से जावा यहां एक गलती करता है। आमतौर पर दायां माउस बटन दूसरा माउस बटन माना जाता है और मध्य एक तिहाई होता है। चौथा बटन आम तौर पर आपके अंगूठे पर स्थित होता है। –

संबंधित मुद्दे