1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
import java.io.File;
import org.apache.commons.io.FileUtils;
public class FrameAvancementCopie extends javax.swing.JFrame implements Runnable {
private File repSrc;
private File repDest;
float percent = 0;
private boolean actif = true;
/** Creates new form FrameAvancementCopie */
public FrameAvancementCopie(File repSrc, File repDest) {
this.setVisible(true);
this.repSrc = repSrc;
this.repDest = repDest;
initComponents();
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
jProgressBar1 = new javax.swing.JProgressBar();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Poueeeet");
setAlwaysOnTop(true);
setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
setForeground(java.awt.Color.white);
jProgressBar1.setBackground(new java.awt.Color(255, 255, 255));
jProgressBar1.setValue(12);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jProgressBar1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jProgressBar1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
public boolean isActif() {
return actif;
}
public void setActif(boolean actif) {
this.actif = actif;
}
public void run() {
while(isActif()) {
// taille du rep source
long tailleRepSrc = FileUtils.sizeOfDirectory(repSrc);
// taille du rep dest
long tailleRepDest = FileUtils.sizeOfDirectory(repDest);
// pourcentage de copie
percent = (float)tailleRepDest / (float)tailleRepSrc * 100;
// on affiche les infos
System.out.println("Toto : "+percent);
System.out.println("Src : "+tailleRepSrc);
System.out.println("Dest : "+tailleRepDest);
System.out.println("******************************");
jProgressBar1.setValue((int)percent);
// si la copie est terminé, on arrête
if(percent == 100) {
setActif(false);
}
}
}
// Variables declaration - do not modify
private javax.swing.JProgressBar jProgressBar1;
// End of variables declaration
} |
Partager