import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Aquarium extends Frame implements Runnable
{
Image aquariumImage,memoryImage;

Graphics memoryGraphics;

    Image[] fishImages = new Image[2]; MediaTracker tracker;

Thread thread;

int numberFish = 12;

    Vector fishes = new Vector<Fish>();    //Vector fishes = new Vector(); Aquarium()
    {
        setTitle("The Aquarium");
        tracker = new MediaTracker(this);
        fishImages[0] = Toolkit.getDefaultToolkit().getImage("fish1.gif");
        tracker.addImage(fishImages[0], 0);        fishImages[1] = Toolkit.getDefaultToolkit().getImage("fish2.gif");
        tracker.addImage(fishImages[1], 0);        aquariumImage = Toolkit.getDefaultToolkit().getImage("bubbles.gif");
        tracker.addImage(aquariumImage, 0);        try {
            tracker.waitForID(0);
        }catch (Exception ex) {
            System.out.println(ex.getMessage());
        }        setSize(aquariumImage.getWidth(this), aquariumImage.getHeight(this));        setResizable(false);        setVisible(true);
        
        memoryImage = createImage(getSize().width, getSize().height);
        memoryGraphics = memoryImage.getGraphics();        thread = new Thread(this);
        thread.start();
        this.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(
                WindowEvent windowEvent)
                {
                    System.exit(0);
                }
        });
    }
    public void run()
    {
       Rectangle edges = new Rectangle(0 + getInsets().left, 0
            + getInsets().top, getSize().width - (getInsets().left
            + getInsets().right), getSize().height - (getInsets().top
            + getInsets().bottom));
            
        for (int loopIndex = 0; loopIndex < numberFish; loopIndex++)
        {
        fishes.add(new Fish(fishImages[0], fishImages[1], edges, this));
        try {
             Thread.sleep(20);
            }
        catch (Exception exp) 
            {
             System.out.println(exp.getMessage());
            }
     }
    
    }
    public static void main(String[] args)
    {
        new Aquarium();
    }
        
}