Java tutorial
/* Java Media APIs: Cross-Platform Imaging, Media and Visualization Alejandro Terrazas Sams, Published November 2002, ISBN 0672320940 */ import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ImageObserver; import java.net.MalformedURLException; import java.net.URL; import javax.swing.JFrame; /** * ImageLoaderApplet.java -- load and display image specified by imageURL */ public class ImageLoaderApplet extends Applet { private Image img; private String imageURLString = "peppers.png"; public void init() { URL url; try { // set imageURL here url = new URL(imageURLString); img = getImage(url); } catch (MalformedURLException me) { showStatus("Malformed URL: " + me.getMessage()); } } /** * overloaded method to prevent clearing drawing area */ public void update(Graphics g) { paint(g); } public void paint(Graphics g) { g.drawImage(img, 0, 0, this); } /** * Verbose version of ImageConsumer's imageUpdate method */ public boolean imageUpdate(Image img, int flags, int x, int y, int width, int height) { System.out.print("Flag(s): "); if ((flags & ImageObserver.WIDTH) != 0) { System.out.print("WIDTH:(" + width + ") "); } if ((flags & ImageObserver.HEIGHT) != 0) { System.out.print("HEIGHT:(" + height + ") "); } if ((flags & ImageObserver.PROPERTIES) != 0) { System.out.print("PROPERTIES "); } if ((flags & ImageObserver.SOMEBITS) != 0) { System.out.print("SOMEBITS(" + x + "," + y + ")->("); System.out.print(width + "," + height + ") "); repaint(); } if ((flags & ImageObserver.FRAMEBITS) != 0) { System.out.print("FRAMEBITS(" + x + "," + y + ")->("); System.out.print(width + "," + height + ") "); repaint(); } if ((flags & ImageObserver.ALLBITS) != 0) { System.out.print("ALLBITS(" + x + "," + y + ")->("); System.out.println(width + "," + height + ") "); repaint(); return false; } if ((flags & ImageObserver.ABORT) != 0) { System.out.println("ABORT \n"); return false; } if ((flags & ImageObserver.ERROR) != 0) { System.out.println("ERROR "); return false; } System.out.println(); return true; } public static void main(String[] argv) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ImageLoaderApplet a = new ImageLoaderApplet(); frame.getContentPane().add(a); frame.setSize(300, 300); a.init(); a.start(); frame.setVisible(true); } }