Dificuldades em JProgressBar em Download

3 respostas
dld2017

Boa noite galera!
Preciso da ajuda de vocês!
Estou desenvolvendo um programa que realiza download de um arquivo, o método funciona bem se tratando do próprio download, mas ao tentar adicionar uma JProgressBar para o usuário se orientar, não estou conseguindo faze-la preencher de acordo com o progresso do download…
Para esclarecer melhor, meu projeto compõem uma Tela principal (JFrame) onde á um Botão com AcctionPerformace para chamar minha Tela “barraProgresso” que também é JFrame.

Segue metodo usado na “barraProgresso”

private void formWindowOpened(java.awt.event.WindowEvent evt) {

File camDownload = new File(C:\arquivo.zip);

if (!camDownload.exists()) {

try {

URL url = new URL(http://…”);

HttpURLConnection con = (HttpURLConnection) url.openConnection();

int size = con.getContentLength();

float total = 0;

java.io.BufferedInputStream in = new java.io.BufferedInputStream(con.getInputStream());

java.io.FileOutputStream fos = new java.io.FileOutputStream(C:\arquivo.zip);

java.io.BufferedOutputStream bout = new BufferedOutputStream(fos, 1024);

byte[] buffer = new byte[1024];

int cont = 0;

while ((cont = in.read(buffer, 0, 1024)) >=0) {

total += cont;

bout.write(buffer, 0, cont);

float Percent = (total*100)/size;

jpbDownload.setValue((int)Percent);

}

bout.close();

in.close();

} catch (IOException e) {

JOptionPane.showMessageDialog(null, e);

}

}

dispose();

}

Agradeço qualquer ajuda desde já

3 Respostas

Lucas_Camara

A progressbar deve ser atualizada utilizando uma thread diferente da principal.

dld2017

Desculpa amigo, sou bem novo em programação… poderia me explicar como eu faria isso?

Lucas_Camara

Aqui tem um exemplo.

Criado 11 de janeiro de 2018
Ultima resposta 13 de jan. de 2018
Respostas 3
Participantes 2