Et voilą!
Per caricare l'immagine puoi usare (come ho fatto) il metodo getImage() della classe ImageIcon, in modo da essere certo di avere anche le dimensioni dell'immagine.
Codice:
import java.awt.*;
import javax.swing.*;
public class MainWindow {
public MainWindow() {
Image img=new ImageIcon("f:\\sample.jpg").getImage();
JFrame frame=new JFrame("Sample");
ImagePane imgPane=new ImagePane(img);
frame.setContentPane(imgPane);
frame.pack();
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
public static void main(String[] a) {
new MainWindow();
}
class ImagePane extends JPanel{
Image currentImage=null;
ImagePane(Image img) {
setPreferredSize(new Dimension(img.getWidth(null),img.getHeight(null)));
currentImage=img;
}
public void paint(Graphics g) {
if(currentImage!=null) {
g.drawImage(currentImage,0,0,null);
}
}
}
}
Ciao.