Trava tela thread com progressBar

0 respostas
monike

Boa Tarde Galera!
Estou com problemas...Uso thread com progressBar.
Ao clicar no botao de Inserir o sistema trava até que se inicie a transação e depois de algum tempo inicia o progressBar com a contagem dos %.
Se alguem puder me ajudar agradeço..obrigada!!!

public  JProgressBar progressBar;
	public static  int TAM_PROCESSO = [telefone removido];
	private Thread processo;

	importacaoBOImpl.insertFatorIdade(listafatorIdadeVO);
	executaProcesso();

        private void executaProcesso() throws AplicacaoException, SQLException, InterruptedException {
			processo = new Thread(new ClasseProcesso(this));
			processo.start();			
	}

public void update(Observable o, Object arg) {
		if(arg instanceof Integer) {
			getJProgressBar().setValue(((Integer) arg).intValue());
		} else if(arg instanceof Boolean) {
			if( ((Boolean) arg).booleanValue() ) {
			getJProgressBar().setValue(1000);
			JOptionPane.showMessageDialog(null, "Processo concluído com sucesso!", "Importação",  JOptionPane.INFORMATION_MESSAGE);			
			}
	}}
public class ClasseProcesso extends Observable implements Runnable {

	/**
	 * Construtor que recebe um objeto que irá observa-lo
	 * @param observador Objeto que irá acompanhar as mudanças deste objeto
	 */
	
	public ClasseProcesso(Observer observador) {
		//Adiciona o objeto observador a lista de observadores
		addObserver(observador);
		//...outras inicializações
	}
	
	
	
	
	/**
	 * Ponto de entrada da Thread.
	 * @see java.lang.Runnable#run()
	 */
	public void run() {
		//getJProgressBar().setName("aguarde...");
		int i;
		for(i=0; i<= TelaPrincipal.TAM_PROCESSO; i++) {
			//Notifica o processamento a cada 10 iterações
			if((i % 10 == 0)) {
				notifyObservers(new Integer(i));
				setChanged();
			}
		}
		
		//Notifica fim do processo
		notifyObservers(new Boolean(true));
		setChanged(); 
	}
}
Criado 19 de janeiro de 2011
Respostas 0
Participantes 1