Pequeño regalito: Ventana que se escapa del mouse en java.

Iniciado por 4nc3str4l, 29 Agosto 2012, 17:48 PM

0 Miembros y 1 Visitante están viendo este tema.

4nc3str4l

Aquí os dejo un pequeño obsequio para que lo analicéis y disfrutéis, como veréis es una chorrada pero bueno.
Solo se trata de una ventana que se abre que se escapa del Mouse cada vez que se acerca a ella :
El código es el siguiente:

import java.awt.event.*;
import java.awt.*;
public class Corre extends Frame
{
   private Button boton;
   
   public Corre()
   {
       super("Demo");
setLayout(new FlowLayout());
addMouseMotionListener(new EscuchaMouse());

boton =new Button("A que no me cojes?");

add(boton);

setSize(200,150);
setVisible(true);
   }
   class EscuchaMouse implements MouseMotionListener
   {
       public void mouseMoved(MouseEvent e)
{
   //Defino la distancia minima a la que se puede acercar el mouse
   int distancia =100;
   Point pMouse = e.getPoint();
   
   Dimension dimBoton = boton.getSize();
   Point pBoton = boton.getLocation();
   
   int difX1 = Math.abs(pBoton.x-pMouse.x);
   int difX2 = Math.abs((pBoton.x+dimBoton.width)-pMouse.x);
   
   int difY1 = Math.abs(pBoton.y-pMouse.y);
   int difY2 = Math.abs((pBoton.y+dimBoton.height)-pMouse.y);
   
   if(difX1<distancia || difX2 <distancia || difY1<distancia || difY2 <distancia){
       //Medidas
Dimension dimVentana = getSize();

//Medidas de la pantalla
Dimension dimScreen = getToolkit().getScreenSize();

//Elijo nuevas coordenadas para la ventana usando Math.random
int y = (int)(Math.random()*(dimScreen.height-dimVentana.height));
int x = (int)(Math.random()*(dimScreen.width-dimVentana.width));

   //reubico la ventana
   setLocation(x,y);
   }
 
}
       public void mouseDragged(MouseEvent e) {}
      }
      public static void main(String[]args)
          {
      new Corre();
  }
}

         
Ala, espero que os guste!
Saludos a todos!
# "Saber romper medidas de seguridad no hacen que seas hacker, al igual que saber hacer un puente en un coche no te convierte en un ingeniero de automoción"
-- Eric Raymond