Swing para outras threads

Salve!

Como faço para exibir um frame em thread paralela? é q a tela congela, como se estivesse na mesma thread, li q é pq o swing só pinta numa thread… mas como faço então?
valeu

CAra foi maus! qdo fui criar o tópico houve um erro na página, dae mudei o nome, sem querer, e reenviei! agora q vi!!!
como faço pra apagar um deles?

O q acontece é o seguinte:

tenho uma thread principal que cria os seguintes objetos:

final NotificadorProgressBar npb = new NotificadorProgressBar();
npb.CriarEmParalela("Baixando arquivo do Servidor SUS", "Conectando...");
         
         
final MedidorArquivo ma = new MedidorArquivo();
ma.Medir(caminho, istream);
            
ma.start();

Depois,nesta mesma thread principal, crio um

SwingWorker<Boolean, Object> worker = 
               new SwingWorker<Boolean, Object>() {  
               
                  protected Boolean doInBackground() throws Exception {  
                     int b = 0;
                      
                     while(b<101){
                        System.out.println("Atualizando medicao"+b);
                        try{
                           npb.setPBP(new Integer(Math.round(ma.getTamanho())));
                           b++;
                          
                           Thread.sleep(100);
                        }
                           catch(Exception e){
                              e.printStackTrace();
                              b++;
                           }
                     }
                  
                  
                  
                     return true;  
                  }                             
             
               };    
         
            worker.execute();  

NotificadorProgressBar cria uma telinha de progress bar num outro frame… mas a janelinha fica travada…

ninguem?

Favor não duplique tópicos.

Como você verificou que o problema é o swing e não a tua aplicação?

Ações que modificam o Swing podem ser colocados na “fila de execução” do Swing (SwingUtilities.invokeLater(Runnable)) mas verifique com um profiler (VisualVM) se realmente é isso que está travando e não algo que você fez errado no código (eu apostaria em algo feito errado primeiramente).

Olá,

Como vc criou a outra “janelinha” no NotificadorProgressBar?