/* MouseEventSample1 */
import java.awt.*;
import java.awt.event.*;

class MouseEventSample1 extends Frame implements MouseListener, MouseMotionListener { //(1)
	int x1, x2, y1, y2;
	int h, w;

	MouseEventSample1(){
		addMouseListener(this); //(2)
		addMouseMotionListener(this); //(2)
	}

	public void paint(Graphics g){
		g.drawRect(x1, y1, w, h);
	}

	// Listener Method
	public void mousePressed(MouseEvent e){ //(3)
		x1 = e.getX();
		y1 = e.getY();
	}
	public void mouseReleased(MouseEvent e){} //(3)
	public void mouseClicked(MouseEvent e){} //(3)
	public void mouseEntered(MouseEvent e){} //(3)
	public void mouseExited(MouseEvent e){} //(3)
	public void mouseDragged(MouseEvent e){ //(3)
		x2 = e.getX();
		y2 = e.getY();
		w = x2 - x1;
		h = y2 - y1;
		repaint();
	}
	public void mouseMoved(MouseEvent e){} //(3)
}

public class MouseEventTest {
	public static void main(String[] args){
		MouseEventSample1 em = new MouseEventSample1();
		em.setSize(300, 300);
		em.setTitle("Event Mouse");
		em.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);}});
		em.show();
	}
}
