Cześć,
chciałbym się dowiedzieć jakiej metody należy użyć, by działała jak wciśnięty przycisk myszy?
Pozdrawiam
Cześć,
chciałbym się dowiedzieć jakiej metody należy użyć, by działała jak wciśnięty przycisk myszy?
Pozdrawiam
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();
}
}