Sto lavorando ad una GUI Swing con Java, e penso che la mia domanda sia abbastanza semplice; Come si imposta la posizione del mouse?Come si imposta la posizione del mouse in Java?
risposta
è necessario utilizzare Robot
Questa classe viene utilizzata per generare eventi di input system nativo a fini di test automation, demo auto-esecuzione, e altre applicazioni che richiedono il controllo del mouse e della tastiera. Lo scopo principale di Robot è di facilitare il test automatico delle implementazioni della piattaforma Java.
L'utilizzo della classe per generare eventi di input è diverso dagli eventi di registrazione alla coda eventi AWT o ai componenti AWT in quanto gli eventi vengono generati nella coda di input nativa della piattaforma. Ad esempio,
Robot.mouseMove
sarà effettivamente spostare il cursore del mouse invece di generando eventi spostamento del mouse ...
Partenza classe Robot.
Come altri hanno detto, questo può essere realizzato utilizzando Robot.mouseMove(x,y)
. Tuttavia questa soluzione ha una rovina quando si lavora in una situazione multi-monitor, in quanto il robot lavora con il sistema di coordinate della schermata principale, a meno che non si specifichi diversamente.
Ecco una soluzione che permette di passare le coordinate qualsiasi schermata globale punto base:
public void moveMouse(Point p) {
GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
// Search the devices for the one that draws the specified point.
for (GraphicsDevice device: gs) {
GraphicsConfiguration[] configurations =
device.getConfigurations();
for (GraphicsConfiguration config: configurations) {
Rectangle bounds = config.getBounds();
if(bounds.contains(p)) {
// Set point to screen coordinates.
Point b = bounds.getLocation();
Point s = new Point(p.x - b.x, p.y - b.y);
try {
Robot r = new Robot(device);
r.mouseMove(s.x, s.y);
} catch (AWTException e) {
e.printStackTrace();
}
return;
}
}
}
// Couldn't move to the point, it may be off screen.
return;
}
Funziona sulla piattaforma linux? –
@ Daniel - sono passati anni da quando hai risposto qui, ma oggi l'ho trovato e ho risolto un problema che avevo da molti mesi con i clic involontari del mouse che riposizionavano il cursore del testo. Sono stato tentato di usare solo Robot.mouseMove fino a quando ho letto il tuo commento. Stranamente, avevo appena iniziato a usare un setup multi-monitor! Dato che usi lezioni che non mi sono familiari, sono rimasto scioccato dal fatto che tutto ciò che dovevo fare era copiare il tuo codice, fare alcune importazioni e chiamarlo. Buon lavoro! Grazie!! – DSlomer64
- 1. Posizione del mouse in java
- 2. imposta la posizione del mouse sul dispositivo Android con radice
- 3. Ottiene la posizione del mouse
- 4. jQuery Imposta la posizione del mouse (non la posizione del cursore)
- 5. Impostare la posizione del mouse
- 6. Posizione del mouse in C#
- 7. onMouseMove ottiene la posizione del mouse
- 8. posizione del mouse in D3
- 9. addGlobalMonitorForEventsMatchingMask restituisce solo la posizione del mouse
- 10. Come ottenere la posizione del mouse sullo schermo in WPF?
- 11. posizione del cursore del mouse in Javascript?
- 12. Ottiene la posizione del mouse nell'evento tastiera
- 13. Come si ascolta la pressione del mouse?
- 14. C# XNA Posizione del mouse
- 15. TextField() Imposta posizione del cursore
- 16. gnuplot imposta la chiave in posizione e successivamente si sposta
- 17. posizione del mouse - la compatibilità del browser Cross - Javascript
- 18. Html5 Trascinare e rilasciare la posizione del mouse in Firefox
- 19. Come ottenere la direzione del mouse da coordinate del mouse
- 20. Conversione della posizione del mouse in posizione mondiale OpenGL
- 21. JScrollPane - Zoom relativo alla posizione del mouse
- 22. Imposta posizione del cursore in Mac OS
- 23. Come si imposta la versione java in windows git bash?
- 24. Come ruotare l'immagine in relazione alla posizione del mouse?
- 25. Cacao: ottenere la posizione corrente del mouse sullo schermo
- 26. Come si modifica la posizione del MessageBox?
- 27. Imposta la posizione del cursore in un widget di testo
- 28. Rileva la posizione del mouse relativo su canvas matplotlib
- 29. ottenere la posizione del mouse con javascript all'interno di tela
- 30. Modifica della posizione del mouse quando viene aggiunta la viewbox
Grande, grazie. Sembra esattamente quello di cui ho bisogno. –