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();
}
}