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!