<:> The Blobs applet



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

  class AppletPanel extends JPanel implements MouseListener {
     Vector colors = new Vector();

     void randomiseColors() {
         colors.setSize(0);
         for (int i = 0; i < 100; i++) {
            colors.add(new Color((float)Math.random(), (float)Math.random(), (float)Math.random())); }
     }

     public void paintComponent(Graphics g) {
        int width = getSize().width, height = getSize().height;
        super.paintComponent(g);
        for (int i = 0; i < colors.size(); i++) {
           g.setColor((Color)colors.elementAt(i));
           int x = (int)(Math.random() * width), y = (int)(Math.random() * height);
           int w = (int)(Math.random() * 50), h = (int)(Math.random() * 50);
           g.fillOval(x, y, w, h); }
     }

     public void mousePressed(MouseEvent event) {
        randomiseColors();
        repaint();
     }

     public void mouseReleased(MouseEvent event) { }
     public void mouseClicked(MouseEvent event) { }
     public void mouseEntered(MouseEvent event) { }
     public void mouseExited(MouseEvent event) { }

  }

  public class Blobs extends JApplet {
     public void init() {
        AppletPanel appletPanel = new AppletPanel();
        appletPanel.addMouseListener(appletPanel);
        getContentPane().add(appletPanel);
     }
  }