2013-02-05 25 views
7

Tôi đang cố gắng để lớp Robot nhấp chuột phải vào một hình ảnh trên màn hình để tôi có thể lưu nó. Vấn đề là mặc dù tôi dường như không thể có được Robot để mô phỏng thành công một nhấp chuột phải. Đây là một số mã mẫu của những gì tôi đang làm.Không thể để lớp Robot nhấp chuột phải

Dường như BUTTON2_DOWN_MASK là mặt nạ cho bánh xe cuộn. Bất cứ khi nào tôi thực hiện mã này đầu tiên chỉ cần nhấp chuột thường xuyên tại địa điểm nhưng sau đó vòng tròn di chuyển siêu nhanh di chuyển vòng tròn bật lên và nói với tôi bây giờ tôi có thể di chuyển với tốc độ ánh sáng, nhưng tôi muốn có một cú nhấp chuột phải ..

CODE:

// 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

Bạn có thể gọi rob.delay (1000) thay vì buồn ngủ. –

Trả lời

13

sử dụng InputEvent.BUTTON3_DOWN_MASK để biết nhấp chuột phải. BUTTON2 là khi bạn nhận thấy chính xác bánh xe chuột và nhấp chuột trái là BUTTON1.

xem điều này example.

+0

Cũng đừng làm tôi cảm thấy ngớ ngẩn ... Hãy lờ đi tại sao tôi không nghĩ về điều đó ... –

+0

Về cơ bản vì Java có một sai lầm ở đây. Thông thường, nút chuột phải được coi là nút chuột thứ hai và nút giữa là nút thứ ba. Nút thứ tư thường nằm ở ngón tay cái của bạn. –

Các vấn đề liên quan