// Gribouille simple

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JGribouille {
		public static void main(String[] args) {
				JFrame f = new JFrame("Gribouille");
				f.setContentPane(new Gribouilleur());
				f.pack();
				f.setVisible(true);
				f.setBackground(Color.yellow);
				f.addWindowListener(new Fermeur());
		}
}

class Gribouilleur extends JPanel {
	int xd, yd, x, y;
	Gribouilleur() {
		setPreferredSize(new Dimension(400,250));
		addMouseListener(new Appuyeur());
		addMouseMotionListener(new Dragueur());
		setOpaque(false);
	}
	public void paintComponent(Graphics g) {
			Graphics2D g2 = (Graphics2D) g;
		 	g2.setStroke(new BasicStroke(3));
		  g2.drawLine(xd, yd, x, y);
		  xd = x; yd = y;
	}	
	class Appuyeur extends MouseAdapter {
	  public void mousePressed(MouseEvent e) {
		  xd = e.getX(); yd = e.getY();
	  }
	}
	class Dragueur extends MouseMotionAdapter {
	  public void mouseDragged(MouseEvent e) {
	    x = e.getX(); y = e.getY();
			repaint();
		}
	}
}

