Dificuldades em JProgressBar em Download

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á

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

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

Aqui tem um exemplo.