본문 바로가기

개발(합니다)/Java&Spring

[java]java로 마우스 움직이기

반응형

테스트를 하다보면 마우스나 키보드를 매크로 형태로 움직이도록 해야 하는 경우가 있습니다.

jwt의 Robot을 이용하면 쉽게 제어할 수 있습니다.


위치 가져오기와 정중앙 클릭하기

import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.MouseListener;
import java.util.Timer;
import java.util.TimerTask;

public class MouseMecro {

    public void mouseMoveMecro(int x, int y) {
    // 마우스 클릭하기
        try {
            Robot robot = new Robot();
            robot.mouseMove(x, y);
            robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }


    public void mouseLocation() {
    // 마우스 위치 가져오기
        Timer t = new Timer();
        TimerTask timerTask = new TimerTask() {

            @Override
            public void run() {
                PointerInfo pt = MouseInfo.getPointerInfo();
                System.out.println(pt.getLocation());
            }
        };
        t.schedule(timerTask, 0, 3000);
    }




    public static void main(String[] args) {

        MouseMecro m = new MouseMecro();
//        m.mouseLocation();
        // 770, 440
        m.mouseMoveMecro(770, 440);

    }
}
  • mousePress(InputEvent.BUTTON1_DOWN_MASK) 는 마우스를 누르는 기능입니다. 누르고 있는 상태
  • mouseRelease(InputEvent.BUTTON1_DOWN_MASK) 는 마우스를 떼는 기능입니다. 마우스에서 손을 떼는 상태
  • PointerInfo pt = MouseInfo.getPointerInfo() 는 마우스의 위치를 가져오는 기능입니다. 마우스 현재 위치
반응형