Mover ubicacion JFrame con el Mouse en Java

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

Entradas populares de este blog

Convertir jar a ejecutable exe con Launch4j

Librería para cambiar apariencia ventana y frames Java

Component mscomctl.ocx or one of its dependencies not correctly registered