New to Java? We'll help you get started with our revised beginner's tutorial, or our free online textbook.
|
Get the latest Java books |
|
h t t p : / /w w w . j a v a c o f f e e b r e a k . c
o m /
|
Menu Articles Using Java Applets Looking for Java resources? Check out the Java Coffee Break directory! |
Listing Oneimport java.applet.Applet; import java.awt.*; // // // MediaTrackerDemo // // public class MediaTrackerDemo extends Applet implements Runnable { Image[] imgArray = null; MediaTracker tracker = null; int current = 0; Thread animThread=null; // Check for a mouse click, to start the images downloading public boolean mouseDown(Event evt, int x, int y) { if (tracker == null) { // Create a new media tracker, to track loading images tracker = new MediaTracker(this); // Create an array of three images imgArray = new Image[3]; // Start downloading the images for (int index=0; index < 3; index++) { // Load the image imgArray[index] = getImage( getDocumentBase(), "anim" + (index+1) + ".gif"); // Register it with media tracker tracker.addImage(imgArray[index], index); } // Start animation thread animThread = new Thread(this); animThread.start(); } return true; } public void update(Graphics g) { // Don't repaint gray background paint(g); } public void paint (Graphics g) { g.setColor(Color.white); g.fillRect(0,0, 200, 200); g.setColor(Color.black); // Check to see if images have started loading if (tracker == null) { g.drawString ("Click to start loading",20,20); } else // Check to see if images have loaded if (tracker.checkAll()) { g.drawImage(imgArray[current++], 0, 0, this); if (current >= imgArray.length) current=0; } else // Still loading { g.drawString ("Images are loading...", 20,20); } } public void run() { try { tracker.waitForAll(); for (;;) { // Repaint the images repaint(); Thread.sleep(2000); } } catch (InterruptedException ie) {}; } } |
||||
|