package graphics.draw2d;

import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

public class ComponentMovePanel extends Panel
    implements
    MouseMotionListener, MouseListener {
  private int startX,startY,posX,posY;

  public void mouseClicked(MouseEvent event) {
  }

  public void mouseEntered(MouseEvent event) {
  }

  public void mouseExited(MouseEvent event) {
  }

  public void mousePressed(MouseEvent event) {
    posX = ((Component) event.getSource()).getLocation().x;
    posY = ((Component) event.getSource()).getLocation().y;
    startX = event.getX();
    startY = event.getY();
  }

  public void mouseReleased(MouseEvent event) {
  }

  public void mouseDragged(MouseEvent event) {
    int x = event.getX();
    int y = event.getY();

    posX += (x - startX);
    posY += (y - startY);
    ((Component) event.getSource()).setLocation(posX, posY);

  }

  public void mouseMoved(MouseEvent event) {
  }

  public Component add(Component c) {
    c.addMouseListener(this);
    c.addMouseMotionListener(this);
    return super.add(c);
  }

}