Source Code : A frame that displays an image

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

A frame that displays an image

      
/*
 * @(#)ImageFrame.java    0.90 9/19/00 Adam Doppelt
 */



import java.awt.*;
import java.awt.image.MemoryImageSource;
import java.io.File;
import java.io.IOException;

/**
 * A frame that displays an image. Create an ImageFrame, then use one
 * of the setImage() methods to show the image.
 * 
 * @version 0.90 19 Sep 2000
 * @author <a href="http://www.gurge.com/amd/">Adam Doppelt</a>
 */
public class ImageFrame extends Frame {
    int left = -1;
    int top;
    Image image;
        
    ImageFrame() {
        setLayout(null);
        setSize(100, 100);
    }

    /**
     * Set the image from a file.
     */
    public void setImage(File file) throws IOException {
        // load the image
        Image image = getToolkit().getImage(file.getAbsolutePath());
        
        // wait for the image to entirely load
        MediaTracker tracker = new MediaTracker(this);
        tracker.addImage(image, 0);
        try {
            tracker.waitForID(0);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
            
        if (tracker.statusID(0, true) != MediaTracker.COMPLETE) {
            throw new IOException("Could not load: " + file + " " +
                                  tracker.statusID(0, true));
        }

        setTitle(file.getName());
        setImage(image);
    }

    /**
     * Set the image from an AWT image object.
     */
    public void setImage(Image image) {
        this.image = image;
        setVisible(true);
    }

    /**
     * Set the image from an indexed color array.
     */
    public void setImage(int palette[], int pixels[][]) {
        int w = pixels.length;
        int h = pixels[0].length;
        int pix[] = new int[w * h];

        // convert to RGB
        for (int x = w; x-- > 0; ) {
            for (int y = h; y-- > 0; ) {
                pix[y * w + x] = palette[pixels[x][y]];
            }
        }
            
        setImage(w, h, pix);
    }

    /**
     * Set the image from a 2D RGB pixel array.
     */
    public void setImage(int pixels[][]) {
        int w = pixels.length;
        int h = pixels[0].length;
        int pix[] = new int[w * h];

        // convert to RGB
        for (int x = w; x-- > 0; ) {
            for (int y = h; y-- > 0; ) {
                pix[y * w + x] = pixels[x][y];
            }
        }

        setImage(w, h, pix);
    }

    /**
     * Set the image from a 1D RGB pixel array.
     */
    public void setImage(int w, int h, int pix[]) {
        setImage(createImage(new MemoryImageSource(w, h, pix, 0, w)));
    }

    /**
     * Get the image.
     */
    public Image getImage() {
        return image;
    }

    /**
     * Overridden for double buffering.
     */
    public void update(Graphics g) {
        paint(g);
    }

    /**
     * Paint the image.
     */
    public void paint(Graphics g) {
        // the first time through, figure out where to draw the image
        if (left == -1) {
            Insets insets = getInsets();
            left = insets.left;
            top = insets.top;
                
            setSize(image.getWidth(null)  + left + insets.right,
                    image.getHeight(null) + top  + insets.bottom);
        }
        g.drawImage(image, left, top, this);
    }

    public static void main(String args[]) throws IOException {
        ImageFrame f = new ImageFrame();
        f.setImage(new File(args[0]));
    }
}

   
    
    
    
    
    
  

Thank with us