import java.awt.image.BufferedImage; import java.awt.Image; import java.io.File; import java.io.IOException; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.event.IIOReadProgressListener; import javax.imageio.stream.ImageInputStream; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class ImageReaderTest5 extends ImageReaderTest1 { public ImageReaderTest5(String filename) { super(filename); } protected Image readImage(String filename) { Iterator readers = ImageIO.getImageReadersBySuffix(getSuffix(filename)); if (readers.hasNext()) { ImageReader reader = (ImageReader)readers.next(); reader.addIIOReadProgressListener(new ReadProgressDialog()); try { ImageInputStream stream = ImageIO.createImageInputStream(new File(filename)); reader.setInput(stream); Image image = reader.read(0); reader.dispose(); return image; } catch (IOException ex) { ex.printStackTrace(); } } return null; } public static void main(String[] args) { if (args.length == 1) { new ImageReaderTest5(args[0]); } else { System.out.println("Usage: java ImageReaderTest5 "); } } }