Java - Copiar + Progreso

 
Vista:

Copiar + Progreso

Publicado por Froid (7 intervenciones) el 22/02/2007 12:44:28
Debo copiar un directorio recursivamente y mostrar una barra de progreso, por donde empiezo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Copiar + Progreso

Publicado por Mario (622 intervenciones) el 22/02/2007 16:12:55
Debes de utilizar threads ;)

Saludos comunidad open source
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Copiar + Progreso

Publicado por Froid (7 intervenciones) el 22/02/2007 16:54:28
Vale mientras estoi copiando: http://www.forosdelweb.com/showpost.php?p=1638941&postcount=41 i se utilizo los threads para ejecutar una instrucciñon que me devuelva el estado de la copia i lo muestro en una barra de progreso, pero como obtengo el estado de la copia?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Copiar + Progreso

Publicado por mario (622 intervenciones) el 23/02/2007 00:01:17
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/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar