ProgressBar e Label - Trocar valores - Funcionando parcialmente

Galera,

no último topico que eu postei, sobre as minhas dúvidas no Progress Bar, consegui fazer funcionar, mas chegou em um ponto que parou de funcionar.

Para demonstrar, segue o codigo:

PainelPrincipal.java

private void jButtonImportarActionPerformed(java.awt.event.ActionEvent evt) {                                                
    Controladora con = new Controladora();
    con.gerenciarImportacao(jProgressBar, jLabelSituacao);
}

Controladora.java

if (retorno) {
            try {
                //
                situacao.setText("Analisando Documento");
                Integer qtdeLinha = 0;
                while (manipularTXT.getLeitor().readLine() != null) {                    
                    qtdeLinha ++;
                }
                qtdeLinha--;
                manipularTXT.getLeitor().close();
                retorno = manipularTXT.abrirTXT("/arquivo.txt");
                //pula a primeira linha
                linha = manipularTXT.getLeitor().readLine();
                Integer linhasLidas = 0;
                manipularMDB.abreConexao();
                while ((linha = manipularTXT.getLeitor().readLine()) != null) {
                    linhasLidas++;
                    situacao.setText(linhasLidas +" / "+ qtdeLinha);
                    tratar.separarDados(linha);
                    manipularMDB.gravarMDB(tratar.getDadosFob());
                    barra.setValue(Math.round((linhasLidas/qtdeLinha)*100));
                }
            } catch (IOException ex) {
                System.out.println(ex.getStackTrace());
            }
            retorno = manipularTXT.fecharTXT();
        } else {
        }

a grande questão é que na classe controladora, se eu não faço mais nada dentro do try, ele seta o Label e o Progress, mas se eu faço alguma coisa ele não seta nada.

Alguém já passou por isso ou tem alguma solução para o caso?

descobri um erro: Exception in thread “AWT-EventQueue-0” java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.IOException; must be caught or declared to be thrown

att

Nilson

Procurando a fundo o ViniGodoy disse que é por causa da thread do while, mas a grande questão é que eu preciso disso, do while, como dar o “rapaint” com o while ativo?