Threads e Swing para atualizar um contador em uma Label "Não Resolvido"

boa tarde , galera

venho até vcs novamente

meu problema e o seguinte tem uma label onde repasso um contador até ai sem problema.

o Chato é que o contador só me mostra a quantidade final , eu gostaria que mostrasse sequencialmente :

exemplo o total do arquivo e 11

mostrasse 1,2,3,4,5,6,7,8,9,10 e 11

sei que o certo e criar um Threads , porem ja tentei

tem varios topicos porem não entendi o conceito muito bem

se alguem poder me ajudar Agradeço

vai um exemplo do meu Codigo.
Label que quero atualizar está com o nome de rotulo1

      botao1.addActionListener(new ActionListener(){                            // Evento Click Para Busca de Arquivo
      public void actionPerformed(ActionEvent Clik){
        //JFileChooser fileChooser = new JFileChooser(".");
        JFileChooser fileChooser = new JFileChooser("U://Vipp");     // Força a Abrir em uma Pasta Determinada
        fileChooser.showOpenDialog(tela);                                      // Abri Chooser na Tela
        File Arquivo_Entrada = fileChooser.getSelectedFile();            // Grava Arquivo Selecionado
        Caminho = Arquivo_Entrada.getPath();                                // Captura Caminho e Nome do Arquivo Selecionado
        texto1.setText(Caminho.toUpperCase());                             // Repassa Caminho e o Nome do arquivo Selecionado no Chooser Para Caixa de Texto Arquivo de Entrada
        texto1.setText(Arquivo_Entrada.getName().toUpperCase());  // Repassa Somente o Nome do arquivo Selecionado no Chooser Para Caixa de Texto Arquivo de Entrada
        RetExtesao = Arquivo_Entrada.getName().length()- 4;          // Captura a Quatidade de Caracter de Um Arquivo Para Poder Retirar a Extensão
        texto2.setText(texto1.getText().substring(0,RetExtesao));     // Copia o Nome do Arquivo da Caixa de Entrada Para Caixa de Saida Sem a Extensão
        try{
         FileReader reader = new FileReader(Arquivo_Entrada);
         BufferedReader bufReader = new BufferedReader(reader);
         while ((dadosEntrada = bufReader.readLine()) != null) {
            sequencia++;
            rotulo1.setText(Integer.valueOf(sequencia).toString());
            dados = "";
            iniEntrada = 0;
            Contador = 0;
             while (Contador < EstruturaTipo01.length){
	     if (Contador == EstruturaTipo01.length-1)
                     dados = dados + "'" + dadosEntrada.replace("'", " ").substring(iniEntrada, iniEntrada + EstruturaTipo01[Contador])+ "'";
                    else
	     dados = dados + "'" + dadosEntrada.replace("'", " ").substring(iniEntrada, iniEntrada + EstruturaTipo01[Contador]) + "', ";
	     iniEntrada = iniEntrada + EstruturaTipo01[Contador];
	    Contador++;
             }
               System.out.println("Conteudo do Arquivo = "+"Sequencia = "+sequencia+" "+String.valueOf(dadosEntrada));
               System.out.println("Dados do Campo = "+String.valueOf(dados));
               System.out.println("Número do Campo = "+Contador);
               System.out.println("Total de Campos = "+EstruturaTipo01.length);
               conexao.executeSQL("INSERT INTO "                                // Comando Sql
               +"APP."                                                          // Squema Da Tabela
               +"Tipo01 "                                                       // Tipo de Tabela
               +"(Nome, Endereco, Numero, Bairro, Cidade, Estado, Cep)"         // Campos Da Tabela
               +" values (" + dados + ")");                                     // Dados a ser Inseridos Nos Campos Da tabela
         }
         bufReader.close();
         reader.close();
        }
        catch (IOException erro){
	   //informacao = erro.getMessage();
	}
      }
     });

Muito Obrigado

Att JavaX

Eis um exemplo. A thread atualiza um relógio, mas é bem fácil de adaptar:
http://www.guj.com.br/posts/list/52964.java#279083

Nos dois posts seguintes, há um exemplo de como fazer o mesmo com timers.

[quote=ViniGodoy]Eis um exemplo. A thread atualiza um relógio, mas é bem fácil de adaptar:
http://www.guj.com.br/posts/list/52964.java#279083

Nos dois posts seguintes, há um exemplo de como fazer o mesmo com timers.[/quote]

Obrigado Vini , vou dar uma olhada vlw