Ok te voy a echar la mano colega....
Tienes la clase Progress sample dos la cual es laa interfaz de usuario y tiene un boton para comenzar a copiar los archivos....... cuando presionas el boton se crea una instancia del thead Task y se ejecuta en Background mientras hay una barra de progreso.
-------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ProgressSample2 {
public static void main(String args[]) {
final JProgressBar aJProgressBar = new JProgressBar(0, 100);
aJProgressBar.setIndeterminate(false);
JButton aJButton = new JButton("Copy Files..");
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
aJProgressBar.setIndeterminate(true);
Task atask=new Task(aJProgressBar);
atask.start();
}
};
aJButton.addActionListener(actionListener);
JFrame theFrame = new JFrame("Indeterminate");
theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = theFrame.getContentPane();
contentPane.add(aJProgressBar, BorderLayout.NORTH);
contentPane.add(aJButton, BorderLayout.SOUTH);
theFrame.setSize(300, 100);
theFrame.show();
}
}
---------------------------------
Ahora el thread es el que hace la chamba en tu caso copiar
los archivos......
import javax.swing.JProgressBar;
public class Task extends Thread {
private JProgressBar bar;
public Task(JProgressBar bar) {
this.bar=bar;
}
public void run() {
//haciendo mis tareas en back ground..
for (int i = 1; i <= 10; i++) {
System.out.println("Do something... " + i);
try {
sleep((long)(Math.random() * 2500));
} catch (InterruptedException e) {}
}
bar.setIndeterminate(false);
}
}
Esto fue para una progress bar indefinida, aunque podrias hacerlo
para un progress bar definida de una manera, sencilla, ahora te lo
dejo de tarea ;)
Saludos Comunidad Open Source
Neos Software Inc 2007
No olvides visitar mi sitio: http://www.geocities.com/neos_software/