This is the simplest application to animate an array of images.
import java.awt.*; import javax.swing.*; public class AnimApp extends JComponent implements Runnable { Image[] images = new Image[2]; int frame = 0; public void paint(Graphics g) { Image image = images[frame]; if (image != null) { // Draw the current image int x = 0; int y = 0; g.drawImage(image, x, y, this); } } public void run() { // Load the array of images images[0] = new ImageIcon("image1.gif").getImage(); images[1] = new ImageIcon("image2.gif").getImage(); // Display each image for 1 second int delay = 1000; // 1 second try { while (true) { // Move to the next image frame = (frame+1)%images.length; // Causes the paint() method to be called repaint(); // Wait Thread.sleep(delay); } } catch (Exception e) { } } public static void main(String[] args) { AnimApp app = new AnimApp(); // Display the animation in a frame JFrame frame = new JFrame(); frame.getContentPane().add(app); frame.setSize(300, 300); frame.setVisible(true); (new Thread(app)).start(); } }
Related Examples |