Jprogress bar nÃo atualiza no for

2 respostas
soulhave

Boa tarde a todos.
Estou com um problema ao realizar um processamento. Preciso mostrar o andamento deste processamento.
Para tanto optei por utilizar o JProgressBar ( Estou trabalhando com Swing ).
Portanto ja fiz de tudo, ele não me mostra o processamento, somente após o processamento todo ( ou seja de percorrer o for varias vezes ) ai ele mostra o final do processamento.

public void processaImportacaoDB2toMySql(JProgressBar progress, JLabel lblStatus){
		
		ArrayList<String> lista = tabelasDB2();
		int contador = 0;
		
		progress.setMinimum(0);
		progress.setMaximum(lista.size());
		progress.setValue(0);
		
		//Cria estrutura de tabelas no mysql
		for (String s : lista) {
			contador++;
			progress.setValue(contador);
			lblStatus.setText("CRIANDO TABELA "+s.toUpperCase());
			criaTabelMySql(s);
		}

Somente após processar esta estrtutura ele atualiza na tela. ( Vale tb para o JLabel )

2 Respostas

L
public void processaImportacaoDB2toMySql(JProgressBar progress, JLabel lblStatus){   
       
     new Thread(){

        @Override
        public void run(){

            ArrayList<String> lista = tabelasDB2();   
            int contador = 0;   
       
            progress.setMinimum(0);   
            progress.setMaximum(lista.size());   
            progress.setValue(0);   

            //Cria estrutura de tabelas no mysql   
            for (String s : lista) {   
                contador++;   
                progress.setValue(contador);   
                lblStatus.setText("CRIANDO TABELA "+s.toUpperCase());   
                criaTabelMySql(s);   
            }

        }
    }.start();
}
soulhave

Obrigado meu caro! Deu certinho…

Criado 27 de março de 2010
Ultima resposta 27 de mar. de 2010
Respostas 2
Participantes 2