scusami, hai ragione!! 
In pratica utilizzo una libreria java per creare un codice a barre e lo salvo come immagine in un file .jpg.
Successivamente, il programma chiede all'utente se vuole o meno salvare una pagina all'interno della quale sono presenti questa immagine ed un'altra.
Per far ciò ho pensato di creare due jpanel e di impostare come sfondo le due immagini che mi servono, il tutto grazie ad un tuo programma leggermente modificato!! 
codice:
class BackgroundPanel extends JPanel
{
private Image img;
public BackgroundPanel (Image img)
{
this.img = img;
}
@Override
public void paintComponent (Graphics g)
{
g.drawImage (img, 0, 0, this);
}
}
A loro volta ho incluso questi due jPanel in un altro, che vorrei salvare con questa classe:
codice:
public class ComponentToJPEG extends JFrame
{
public static void saveComponentAsJPEG(Component myComponent, String filename)
{
BufferedImage myImage;
Dimension size = myComponent.getSize();
myImage = new BufferedImage(size.width, size.height,BufferedImage.TYPE_INT_RGB);
java.awt.Graphics2D g2 = myImage.createGraphics();
myComponent.paint(g2);
try
{
OutputStream out = new FileOutputStream(filename);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(myImage);
out.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Il problema è che non funziona perchè se vado a impostare lo sfondo con:
codice:
QRCPanel = new BackgroundPanel(qr);
mi carica sempre il file nella versione precedente a quella appena salvata.... 
Non capisco il perchè...