ok ho risolto con il metodo 1
codice:
 BufferedImage img = null;
        try {
            img = ImageIO.read(new File("/Users/Kernel/barcode.jpg"));
        } catch (IOException e) {
        }


     
        ImageIcon image = new ImageIcon(img);
però avrei un altro problemino: dal primo listato si vede che ad ogni InternalFrame che istanzio aggiungo un JButton per farlo stampare.
poiché il file che scrivo viene sovrascritto ogni volta mi rimane soltanto "l'imagine" sull'internalframe. Posso in qualche modo stampare quella o dovrei scrivere n files con il jpeg dell'immagine?