Mover ubicacion JFrame con el Mouse en Java
Este ejemplo puede servir también para un JPanel o JFrame, al presionar con el mouse sobre el componente y mover de aquí para allá y el componente también se mueve al compás con el mouse presionado.
El procedimiento es sencillo, por ejemplo creo un JFrame utilizando Netbeans y al comienzo creo los siguientes parámetros globales.
//------
int x = 0, y = 0;
public Visual() {
initComponents();
}
//------
Luego le damos clic derecho en el JFrame, Events/Mouse/mousePressed agremos lo siguiente:
x = evt.getX();
y = evt.getY();
Clic derecho en el JFrame, Events/MouseMotion/mouseDragged agregamos lo siguiente:
Point point = MouseInfo.getPointerInfo().getLocation();
setLocation(point.x - x, point.y - y);
Finalmente el código final sería de esta manera:
//Variable globales
int x = 0, y = 0;
//--------------
//Establecemos la nueva posicion
private void formMouseDragged(java.awt.event.MouseEvent evt) {
Point point = MouseInfo.getPointerInfo().getLocation();
setLocation(point.x - x, point.y - y);
}
//Actualizamos la posicion
private void formMousePressed(java.awt.event.MouseEvent evt) {
x = evt.getX();
y = evt.getY();
}
Comentarios
Publicar un comentario