Ciao a tutti.
Voglio creare un pannello contenente una immagine.
A tale scopo ho usato una classe ImagePnaleche estende jpanel (il cui codice è riportato alla fine del post), ho inserito un pannello, denominato panel, nel mio frame, ho scritto nella classe che estende jframe

ImagePanel panel1 = new ImagePanel("foto.jpg");
panel.add(panel1);

e la cosa sembra funzionare, ma con due limitazioni:

1) Io vorrei poter visualizzare in questo pannello anche le bitmap ma non riesco.. come posso fare?
2) Vorrei che se una immagine abbia una dimensione superiore a quella del panel, vengano visualizzati gli scroller laterali.

Grazie in anticipo per i vostri consigli e auguri di buon anno.

public class ImagePanel extends JPanel {

private Image img;

public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}

public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null),img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}

public void paintComponent(Graphics g) {
g.drawImage(img,0,0,null);
}

}