import javax.swing.JApplet; import javax.swing.JPanel; import javax.swing.JScrollPane; import java.awt.Graphics; import java.awt.Color; import java.awt.Dimension; import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; class DisqueGraphique { private int rayon, x, y; Color couleur = Color.MAGENTA; public DisqueGraphique(int rayon, int x, int y) { this.rayon = rayon; this.x = x; this.y = y; } void dessiner(Graphics g) { g.setColor(couleur); g.fillOval(x - rayon, y - rayon, 2 * rayon, 2 * rayon); } } class ArdoiseScroll extends JPanel { ArrayList liste = new ArrayList(); ArdoiseScroll() { setPreferredSize(new Dimension(400, 600)); addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent evt) { liste.add(new DisqueGraphique(10, evt.getX(), evt.getY())); repaint(); } }); } public void paintComponent(Graphics g) { super.paintComponent(g); for (DisqueGraphique disque : liste) disque.dessiner(g); } } public class ScrollApplet extends JApplet { public void init() { JScrollPane ascenseurs = new JScrollPane(new ArdoiseScroll()); ascenseurs.setPreferredSize(new Dimension(200, 200)); add(ascenseurs, BorderLayout.CENTER); } }