//================this is GraphicsWindow.java=========================

import javax.swing.JFrame;
import java.io.*;
public class GraphicsWindow extends JFrame{
   
    public GraphicsWindow() throws IOException
    {
        super("In class Graphics");
        setSize(300,400);
        setDefaultCloseOperation(EXIT_ON_CLOSE);       
        add(new GraphicsPanel());
        setVisible(true);
    }

    public static void main(String [] args) throws IOException{
        new GraphicsWindow();
    }

}


//==================below is GraphicsPanel.java=======================

import javax.swing.JPanel;
import javax.swing.Timer;
import java.util.ArrayList;
import java.awt.event.*;
import java.awt.Toolkit;
import java.awt.Image;
import java.awt.Graphics;
import javax.imageio.ImageIO;
import java.io.*;
public class GraphicsPanel extends JPanel implements ActionListener{
   
    private ArrayList<Image> picts;
    private int frame;
    public GraphicsPanel() throws IOException{
        frame= 0; //start with first image
        picts = new ArrayList<Image>();
        for (int i=0; i<=8; i++){
            File temp1 = new File("cheerings000"+i+".png");
            Image temp = javax.imageio.ImageIO.read(temp1);
            // Image temp = Toolkit.getDefaultToolkit().createImage("cheerings000"+i+".png");
             picts.add(temp);
         }
         Timer t = new Timer(20, this);//20 ms between timer ticks
         t.start();
    }
   
    public void paint(Graphics g){
        Image current = picts.get(frame);
        g.drawImage(current, 120,120,null);
    }
   
    public void actionPerformed(ActionEvent e){
        frame++;
        if (frame >= picts.size())
            frame = 0;
       
        repaint();
    }
   
   
}