2013-04-09 1 views
6

자바에서는 로봇 클래스를 사용하여 마우스를 이동하고 마우스 클릭을 실행할 수 있습니다. 이것은 멋지지만 사용자 마우스를 "도용"하므로 멀티 태스킹을 할 수 없습니다.자바에서 "가짜"마우스를 만드시겠습니까?

내가하고 싶은 일은 시스템의 마우스 커서와 독립적으로 작동하고 내 Java 애플릿 내부에만있는 "가짜"마우스를 만드는 것입니다. 이러한 의미에서 애플릿은 다양한 (x, y) 위치 (애플릿 내)에서 마우스로 클릭한다고 생각하지만, 시스템 마우스로 원하는대로 할 수 있으며 영향을받지 않습니다.

나는 이것을 성취 한 프로그램을 보았다, 나는 어디에서 시작해야할지 전혀 모른다. 아마도이 기능에 잘못된 용어를 사용하고있을뿐입니다.

어디서 볼 것인지 제안 해 주시면 감사하겠습니다. - 고마워요

+0

가능한 [AutoIt for Java] (http://stackoverflow.com/questions/1097528/autoit-for-java) – Aubin

+0

감사합니다. 이동 방법과 비슷하지만, 오늘 밤에 시도 할 것입니다. –

답변

3

내가하고 싶은 일은 시스템의 마우스 커서와 독립적으로 작동하고 내 Java 애플릿 내부에만 존재하는 "가짜"마우스를 만드는 것입니다.

마우스 클릭을 발생시키는 Runnable FakeMouse 클래스를 만듭니다. Tony Depace가 코드를 제공했습니다.이 코드는 다른 사람들을 도울 수있는 해답입니다.

MouseEvent aClick = new MouseEvent(this, MouseEvent.MOUSE_CLICKED, 
     System.currentTimeMillis(), 0, 10, 10, 1, false); 
dispatchEvent(aClick); 

Java 애플릿의 스레드에서 FakeMouse 클래스를 실행하십시오.

+0

실제로해야 할 일은 결국 MouseEvent를 EventQueue에 파견하는 것입니다. '된 MouseEvent aClick = 새로운 된 MouseEvent (이, \t \t \t MouseEvent.MOUSE_CLICKED, \t \t \t에 System.currentTimeMillis() \t \t \t \t \t 10, 10, \t \t \t \t \t 거짓); \t \t \t \t \t \t 에 dispatchEvent (aClick); ' –