TAREA_EventoRaton.java



// CAPTURA DEL EVENTO "RATON" PARA EL ARRASTRE DE OBJETOS
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseEvent;



public class EventoRaton extends JFrame
{
	AreaGrafica AG = null;

	public static void main(String R[]) { new EventoRaton(); }
	public EventoRaton()
	{
		super("Evento Raton");
		setSize(500, 500);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);

		AG = new AreaGrafica(50, 50);
		add(AG); AG.setBounds(5, 5, 450, 450);
	}
}

class AreaGrafica extends JPanel implements MouseMotionListener
{
	int X = 0, Y = 0;

	public AreaGrafica(int X, int Y)
	{
		this.X = X; this.Y = Y;
		addMouseMotionListener(this);
	}


	public void paint(Graphics G)
	{
		G.setColor(Color.yellow); G.fillRect(0, 0, 500,500);
		G.setColor(Color.blue);
		G.fillOval(X, Y, 100, 100);
	}


	public void mouseClicked(MouseEvent e) {}
	public void mouseEntered(MouseEvent e) {}
	public void mouseExited(MouseEvent e) {}
	public void mousePressed(MouseEvent e) { }
	public void mouseReleased(MouseEvent e) {}

	public void mouseDragged(MouseEvent e)
	{
		if
		(	e.getX() > X && e.getX() < X+90 &&
                        e.getY() > Y && e.getY() < Y+90
                )
		{	X = e.getX(); Y = e.getY();
			System.out.println("OK______");
			repaint();
		}
	}

	public void mouseMoved(MouseEvent e)
	{
		X = e.getX(); Y = e.getY();
		System.out.println("X = " + X + "\t Y = " + Y);
	}
}