Eu criei um sistem pequeno para conver ter um arquivo, esse precesso “dependendo do tamanho do arquivo” demora um pouco. Coloquei uma jProgressBar para monitorar a evolução da converção, mas minha barra não está correndo enquanto o arquido é convertido, ela só corre direto para o final , quanto termina a converção.
Alguem pode me ajudar a resolver esse problema?.
Bom cara, não sei ao certo como você construiu isso no seu programa, até porque não vi seu código para poder saber com precisão o que seria o seu problema, mas você está usando Threads para poder manipular o seu componente? acho que seria o ideal usar…
[]'s.
javinh
Oi!!! Não sei se é mais ou menos isso que vc quer, mas vou colocar um exemplo que tenho.Boa sorte :)
publicclassLoadextendsThread{/** * Janela que vai ser alterada com a thread. */JanelaLoadingjanela;/** * Construtor da classe. * @param j janela que contem o JProgressBar. */publicLoad(JanelaLoadingj){this.janela=j;}/** * método que roda a thread para movimentar a JProgressBar. */publicvoidrun(){inti=1;while(i<6){JanelaLoading.pbLoading.setValue(20*i);JanelaLoading.pbLoading.setString(20*i+" %");try{Thread.sleep(1000);}catch(InterruptedExceptione){e.printStackTrace();}i++;}janela.dispose();newJanelaPrincipal();}}
Espero ter ajudado!
javolatra
Bom , meu código está aí: eu não coloquei nada referente a barra de prosesso, pois queria ajuda de vcs sobre a melhor forma de usar essa barra nesse programinha. hoje quando eu clico no botão iniciar para executar esse código, minha interface está travando e só destrava quando o programa termina a execução.
try{BufferedReaderinput=newBufferedReader(newFileReader("C:\\Gerador\\HORA300.txt"));try{Stringline=null;FileWriterarquivo;PrintWriterescrever;arquivo=newFileWriter("C:\\Gerador\\MODELO.txt");escrever=newPrintWriter(arquivo);line=input.readLine();Stringdocumento="";while(line!=null){documento=documento+line.substring(0,22);documento=documento+"\n";line=input.readLine();}escrever.append(documento.replaceAll("\t"," "));escrever.close();}catch(java.io.IOExceptionioex){}finally{input.close();}}catch(IOExceptionioe){}try{BufferedReaderentrada=newBufferedReader(newFileReader("C:\\Gerador\\MODELO.txt"));try{StringstrCodigo="";StringstrData="";StringstrHora="";Stringlinha=null;Filearquivo2;PrintWriterescrever2;arquivo2=newFile("C:\\Gerador\\HORASAF.txt");escrever2=newPrintWriter(arquivo2);Scannerscanner=newScanner(entrada);while(scanner.hasNext()){// int numero = Integer.parseInt(scanner.next());// strCodigo = String.format("%4s",numero);strCodigo=scanner.next();strData=scanner.next();strHora=scanner.next();if(strCodigo.length()==1){strCodigo="000"+strCodigo;}if(strCodigo.length()==2){//strCodigo += " ";strCodigo="00"+strCodigo;}if(strCodigo.length()==3){// strCodigo += " ";strCodigo="0"+strCodigo;}escrever2.println(strCodigo+" "+strData+" "+strHora);}escrever2.close();JOptionPane.showMessageDialog(null,"Arquivo gerado!");this.dispose();}catch(IOExceptionioex){ioex.printStackTrace();}}catch(IOExceptionioex){ioex.printStackTrace();}