
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;

class Dessin extends JPanel {
        
        protected java.util.List points = new ArrayList();
        
        public Dessin() {
                super();
                setLayout(new BorderLayout());
                MouseInputListener mil = new MyMouseListener();
                addMouseMotionListener(mil);
                addMouseListener(mil);
        }
        
        public void paintComponent(Graphics g) {
                g.setColor(Color.BLACK);
                for (int i=0; i<points.size(); i++) {
                        Point point = (Point) points.get(i);
                        int x = (int) point.getX(), y = (int) point.getY();
                        g.drawLine(x, y, x, y);
                }
                repaint();
        }
        
        class MyMouseListener implements MouseInputListener {
                public void mouseDragged(MouseEvent e) {
                        System.out.println("Adding "+e.getPoint());
                        points.add(e.getPoint());
                }
                public void mouseMoved(MouseEvent e) {}
                public void mouseClicked(MouseEvent e) {}
                public void mouseEntered(MouseEvent e) {}
                public void mouseExited(MouseEvent e) {}
                public void mousePressed(MouseEvent e) {
                         points.add(e.getPoint());
                }
                public void mouseReleased(MouseEvent e) {
                         points = new ArrayList();
                }
        }
        
        public static void main(String[] args) {
                JFrame fenetre = new JFrame("Dessinons un peu ...");
                JPanel dessin = new Dessin();
                fenetre.setContentPane(dessin);
                fenetre.setSize(200,200);
                fenetre.setVisible(true);
        }

}
