Janela não aparece imagem

Quando coloco esse código fonte sem mandar maximizar a janela a imagem no centro da tela não aparece. Quando coloco a opção de maximizar a janela ai aparece a imagem ou quando maximizo é que a imagem aparece.
Segue abaixo o código:
import javax.swing.;
import java.awt.
;

public class Sorveteria extends JFrame {
JLabel imagem;
public Sorveteria(){
super (“SORVERTERIA”);
setSize(800,600);
setVisible(true);
// setResizable(false);
// setLocationRelativeTo(null);
Container tela=getContentPane();

	//Insere o ícone no canto superior da tela

// ImageIcon icone=new ImageIcon(“images[3].jpg”);
// setIconImage(icone.getImage());

	//Insere o ícone no centro da tela

// Container tela1 = getContentPane();
ImageIcon icone = new ImageIcon(“SorvetePrincipal.jpg”);
imagem = new JLabel(icone);
tela.add(imagem);
setExtendedState(MAXIMIZED_BOTH);

// tela.setBackground(Color.blue);
}
public static void main (String args[]){
Sorveteria app=new Sorveteria();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Desde já agradeço a atenção de todos.

Não sou nenhum Guru em Swing, mas eu já tive problemas assim e consegui resolver. Pelo que identifiquei o problema é na hora que você chama o setVisible(true) de JFrame. Quando você já está mostrando a janela e você adiciona algum outro componente neste Frame, ele deveria dar um repaint (o que não funcionou no meu caso e não sei se vai funcionar no seu também).

Para solucionar este problema basta você colocar o seu setVisible(true) na útltima linha do seu construtor, mas infelizmente não posso te dar uma resposta 100% correta do porque isso acontece em Swing. Para resolver seu problema basta isso, caso algum Guru de Swing aqui do PJ leia este post por favor desvende este mistério! :grin:

Obs: Procure usar as tags code nos seus códigos. :wink:

Obrigado, fiz isso e deu certo…