Exibir imagens em JLabel

Olá pessoal!
Estou construindo um programa que, através de um programa externo, gera figuras nos formatos PNG, JPG e GIF.
Está tudo funcionando perfeitamente, o único problema é que quando vou tentar exibir as figuras, utilizando um JLabel, as que possuem um tamanho muito grande não são carregadas e muito menos exibidas, embora elas sejam geradas sem nenhum problema…

O Código da classe que abre uma janela e exibe a figura é este:

public class Visualiza extends javax.swing.JFrame {
    
    public Visualiza(java.io.File f,String tipo) 
    {
        initComponents();
        java.awt.MediaTracker tracker = new java.awt.MediaTracker(this);        
        java.awt.Image img = java.awt.Toolkit.getDefaultToolkit().getImage(f.toString()+""+tipo);
        tracker.addImage(img,0);
        try
        {
            tracker.waitForID(0);
        }
        catch(Exception e)
        {
            System.out.println("Can't load "+f);
        }    
        this.setSize(img.getWidth(null)+10,img.getHeight(null)+10);
        fig.setIcon(new javax.swing.ImageIcon(img));        
        this.setTitle(f.toString()+""+tipo);
    }
    
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        fig = new javax.swing.JLabel();

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jPanel1.setLayout(new java.awt.BorderLayout());

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
        fig.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jPanel1.add(fig, java.awt.BorderLayout.CENTER);

        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

        pack();
    }
    
    private void exitForm(java.awt.event.WindowEvent evt) {
        this.hide();
    }
   
    private javax.swing.JLabel fig;
    private javax.swing.JPanel jPanel1;
    
}

Alguém poderia me audar???

Grato!