Problema ao chamar classe com JFrame, painel não carrega

Olá pessoal,
estou com uma dúvida que acredito que seja tosca para algum de vocês. Preciso chamar uma classe com um JFrame dentro dela. Quando a chamo, ela não carrega JPanel dentro dela, mas quando rodo a própria classe, ela carrega tudo certinho, segue abaixo o cod.

Classe que chama

...
if(jList1Indice == 0){
									
					new Distancia();
			
			}

Classe que é chamada, com o JFrame

public Distancia(){
		
		JLabel label = new JLabel("Processando..."); 
		painel = new JPanel();
		pbar = new JProgressBar();
		painel.add(label);
		painel.add(pbar);
		frame = new JFrame("Processando");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setContentPane(painel);
		frame.setVisible(true);
		frame.setSize(300, 50);
		frame.setLocation(500, 500);
		frame.pack();
              ...
              pbar.setIndeterminate(true);
              ...

               pbar.setIndeterminate(false);
             ..

Bom, copiei so os componentes que interessam, se alguém puder me ajudar.

Abraços

Não entendi. Pode postar o código das duas situações?

O que vc quer dizer com “quando eu rodo a própria classe”? Nesse caso, onde ele aparece?

[quote=ViniGodoy]Não entendi. Pode postar o código das duas situações?

O que vc quer dizer com “quando eu rodo a própria classe”? Nesse caso, onde ele aparece?[/quote]

Bom ViniGodoy,

Seria chamar simplesmente uma classe com Interface Gráfica. Acontece que quando eu instancio a classe,

processandoProgress = new IntGraProcessando();
processandoProgress.setVisible(true);

Só abre o JFrame. Os componentes que tem dentro dele não aparece (JPanel, JProgreesBar), ele abre uma janela sem nada dentro.

Bom, não seu se vai ficar mais fácil de entender,
mas eu chamo duas classes. uma atrás da outra, como abaixo:

new IntGraProcessando().setVisible(true);	
new DistanciaEstrada();

Quando executo o código acima, a primeira classe carrega somente o JFrame, sem os componentes internos, e a segunda (DistanciaEstrada()), executa a consulta normalmente.
Para que funcione a IntGraProcessando(), basta que eu comente a classe DistanciaEstrada(), como abaixo:

new IntGraProcessando().setVisible(true);	
//new DistanciaEstrada();

Aí ela carrega todos os componentes correctamente

Sabe oque pode ser?

Bom,
Vou dizer o quê eu preciso. Na classe IntGraProcessando() possui um JProgressBar cujo a intenção é executar enquanto uma consulta ao banco de dados é realizado na classe DistanciaEstrada(), quando o processo de DistanciaEstrada() concluísse, a classe IntGraProcessando() iria ser finalizada com um Dispose(), já que o JProgressBar é indeterminado. Quando tento fazer isso, o JProgressBar não é carregado juntamente com o JFrame.

Alguém tem alguma dica?

O seu processamento pesado está sendo realizado em outra thread? O Swing só tem uma única thread de pintura. Se vc estiver realizando o processamento na thread do swing, todo o resto só será executado depois que esse processamento terminar.

Hum,
No caso ele esta executando sobre um outro Frame Swing sim, não sei se seria outra thread. Bom, preciso executar um jProgressBar enquanto o processo de DistanciaEstrada() conclua, por isso existem duas Swing, á Principal, e a que carrega o JProgressBar. A que carrega o JProgressBar depende de um botão da JFrame Principal.

Não, outro frame não é igual a outra thread.

Dá uma lida nesse tutorial aqui:
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html