Symulacja wciśniętego przycisku myszy

0

Cześć,
chciałbym się dowiedzieć jakiej metody należy użyć, by działała jak wciśnięty przycisk myszy?

Pozdrawiam

0

Jest jeszcze klasa Robot . Nie wiem czy o to chodzi <?!>

https://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html
https://javastart.pl/baza-wiedzy/klasy/klasa-robot
https://stackoverflow.com/questions/19185162/how-to-simulate-a-real-mouse-click-using-java

Mój testowy kod w którym ogarniałem działanie tej klasy. Akurat tutaj porusza kursorem w osi x od 200 do 1000 5 razy. Tylko przy odpaleniu kodu kursor myszy musi być pomiędzy wartościami 200 a 1000, czyli gdzieś na środka ekranu o rozdzielczości 1600x900, ku lewej stronie. A klikanie to jak widać na stronach wyżej np bot.mousePress(InputEvent.BUTTON1_DOWN_MASK) bot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

package robot;

import java.awt.Robot;
import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Point;

public class RobotDemo {
	
	private static int state = 0;
	private static int x = 1000;
	private static int y = 1000;
	
	private static int counter = 0;
	
	public static void main(String[] args) throws AWTException {
		Point p = MouseInfo.getPointerInfo().getLocation();
		//System.out.println(p);
		x = p.x;
		y = p.y;
		
		Robot robot = new Robot();
		
		Thread t = new Thread(new Runnable() {
			public void run() {
				while(true) {
					
					if (counter >= 5) break;
					
					try {
						if (x <= 200 && state == 0) {
							state = 1;
						}  
						if (x > 200 && x < 1000 && state == 0){
							x --;
						} 
						if (state == 1) {
							x ++;
						} 
						if (x >= 950 && state == 1) {
							state = 0;
							//break;
							counter ++;
						}
						//System.out.println(state + " " + counter);
						robot.mouseMove(x, y);
						Thread.sleep(1);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		});
		
		t.start();																			
		
	}
	
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1