Java tutorial
import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Toolkit; import java.awt.image.ImageObserver; import java.net.URL; import javax.swing.JFrame; import javax.swing.JPanel; public class ImageSize extends JPanel { private static Image image; public ImageSize(URL url) { image = Toolkit.getDefaultToolkit().getImage(url); rightSize(); } private void rightSize() { int width = image.getWidth(this); int height = image.getHeight(this); if (width == -1 || height == -1) return; addNotify(); System.out.println("Image width: " + width); System.out.println("Image height" + height); } public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) { if ((infoflags & ImageObserver.ERROR) != 0) { System.out.println("Error loading image!"); System.exit(-1); } if ((infoflags & ImageObserver.WIDTH) != 0 && (infoflags & ImageObserver.HEIGHT) != 0) rightSize(); if ((infoflags & ImageObserver.SOMEBITS) != 0) repaint(); if ((infoflags & ImageObserver.ALLBITS) != 0) { rightSize(); repaint(); return false; } return true; } public void update(Graphics g) { paint(g); } public void paint(Graphics g) { Insets insets = getInsets(); g.drawImage(image, insets.left, insets.top, this); } public static void main(String[] args) throws Exception { String url = "http://www.java2s.com/style/logo.png"; new ImageSize(new URL(url)); } }