// fill the background
g.setColor(Color.gray);
g.fillRect(0,0,getWidth(),getHeight());
if(img != null) {
// calculate the scaling factor
int w = img.getWidth(null);
int h = img.getHeight(null);
int side = Math.max(w,h);
double scale = 200.0/(double)side;
w = (int)(scale * (double)w);
h = (int)(scale * (double)h);
// draw the image
g.drawImage(img,0,0,w,h,null);
// draw the image dimensions
String dim = w + " x " + h;
g.setColor(Color.black);
g.drawString(dim,31,196);
g.setColor(Color.white);
g.drawString(dim,30,195);
} else {
// print a message
g.setColor(Color.black);
g.drawString("Not an image",30,100);
}