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…
/**
* Janela que vai ser alterada com a thread.
*/
JanelaLoading janela;
/**
* Construtor da classe.
* @param j janela que contem o JProgressBar.
*/
public Load(JanelaLoading j){
this.janela=j;
}
/**
* método que roda a thread para movimentar a JProgressBar.
*/
public void run()
{
int i = 1;
while (i < 6) {
JanelaLoading.pbLoading.setValue(20*i);
JanelaLoading.pbLoading.setString(20*i + " %");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
i++;
}
janela.dispose();
new JanelaPrincipal();
}
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.
[code] try{
BufferedReader input = new BufferedReader(new FileReader("C:\\Gerador\\HORA300.txt"));
try{
String line = null;
FileWriter arquivo;
PrintWriter escrever;
arquivo = new FileWriter("C:\\Gerador\\MODELO.txt");
escrever = new PrintWriter(arquivo);
line = input.readLine();
String documento = "";
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.IOException ioex){
}finally{
input.close();
}
}catch (IOException ioe){
}
try {
BufferedReader entrada = new BufferedReader(new FileReader("C:\\Gerador\\MODELO.txt"));
try{
String strCodigo = "";
String strData = "";
String strHora = "";
String linha = null;
File arquivo2;
PrintWriter escrever2;
arquivo2 = new File("C:\\Gerador\\HORASAF.txt");
escrever2 = new PrintWriter(arquivo2);
Scanner scanner = new Scanner(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(IOException ioex){
ioex.printStackTrace();
}
}catch(IOException ioex){
ioex.printStackTrace();
}
[/code]