import java.awt.*;
public class TrackImage extends java.applet.Applet implements Runnable {
Image img;
final int MAIN_IMAGE = 0;
MediaTracker tracker;
boolean show = false;
Thread runme;
String message = "Loading...";
public void init() {
img = getImage( getClass().getResource(getParameter("img")) );
tracker = new MediaTracker(this);
tracker.addImage( img, MAIN_IMAGE );
}
public void start() {
if ( !tracker.checkID( MAIN_IMAGE ) ) {
runme = new Thread( this );
runme.start();
}
}
public void stop() {
runme.stop();
runme = null;
}
public void run() {
repaint();
try {
tracker.waitForID( MAIN_IMAGE );
} catch( InterruptedException e) { }
if ( tracker.isErrorID( MAIN_IMAGE ) )
message= "Error";
else
show = true;
repaint();
}
public void paint( Graphics g ) {
if ( show )
g.drawImage( img, 0, 0, this );
else {
g.drawRect( 0, 0, getSize().width-1, getSize().height-1);
g.drawString( message, 20, 20 );
}
}
}
|