2013-04-09 8 views
6

In java è possibile utilizzare la classe robot per spostare il mouse e fare clic con il mouse. Mentre questo è bello, anche "dirotta" il mouse dell'utente, quindi non puoi fare il multitasking.Crea un mouse "falso" in java?

Quello che voglio fare è creare un mouse "falso" che agisca indipendentemente dal cursore del mouse del sistema e che risieda solo nella mia applet java. In questo senso l'applet potrebbe pensare di essere stato cliccato con il mouse in varie posizioni (x, y) (all'interno dell'applet), tuttavia posso fare tutto ciò che voglio con il mouse di sistema e non sarà influenzato.

Ho visto programmi che hanno portato a termine questo, non ho proprio idea da dove cominciare. Forse sto solo usando la terminologia sbagliata per questa funzionalità.

Qualsiasi suggerimento su dove guardare sarebbe molto apprezzato. -Thanks

+0

possibile duplicato di [AutoIt per Java] (http://stackoverflow.com/questions/1097528/autoit-for-java) – Aubin

+0

Grazie, sembra la strada da percorrere, ci proverò stasera. –

risposta

3

Quello che voglio fare è creare un mouse "falso" che agisca indipendentemente dal cursore del mouse del sistema e che risieda solo nella mia applet java.

Creare una classe Runnable FakeMouse che attiva i clic del mouse. Tony Depace ha fornito il codice, che sto aggiungendo alla risposta per aiutare gli altri.

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

Eseguire la classe FakeMouse in un thread nell'applet Java.

+0

Quello che in realtà ho dovuto fare era inviare un oggetto MouseEvent a EventQueue. 'MouseEvent AFare clic = new MouseEvent (questo, \t \t \t MouseEvent.MOUSE_CLICKED, \t \t \t System.currentTimeMillis(), \t \t \t 0, \t \t \t 10, 10, \t \t \t 1, \t \t \t false); \t \t \t \t \t \t dispatchEvent (AFare clic); ' –