gui - java ui
¿Cómo configuro la posición del mouse en Java? (5)
Como han dicho otros, esto se puede lograr usando Robot.mouseMove(x,y)
. Sin embargo, esta solución tiene un inconveniente cuando se trabaja en una situación de monitores múltiples, ya que el robot trabaja con el sistema de coordenadas de la pantalla principal, a menos que especifique lo contrario.
Aquí hay una solución que le permite pasar cualquier coordenada de pantalla global basada en puntos:
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;
}
Estoy haciendo un trabajo Swing GUI con Java, y creo que mi pregunta es bastante directa; ¿Cómo se establece la posición del ratón?
Echa un vistazo a la clase de Robot .
Necesitas usar Robot
Esta clase se utiliza para generar eventos de entrada del sistema nativo para fines de automatización de pruebas, demostraciones de ejecución automática y otras aplicaciones donde se necesita el control del mouse y el teclado. El propósito principal de Robot es facilitar las pruebas automatizadas de las implementaciones de la plataforma Java.
El uso de la clase para generar eventos de entrada difiere de la publicación de eventos en la cola de eventos de AWT o los componentes de AWT en que los eventos se generan en la cola de entrada nativa de la plataforma. Por ejemplo,
Robot.mouseMove
realmente moverá el cursor del mouse en lugar de solo generar eventos de movimiento del mouse ...