En modo de diseño le agregamos el componente "Progress Bar" y un "Button".
Deberia quedar algo asi:
Codigo Principal:
package barraprogreso1;
public class BarraProgreso1 extends javax.swing.JFrame {
public BarraProgreso1() {
initComponents();
jProgressBar1.setMaximum(100);
}
@SuppressWarnings("unchecked")
private void initComponents() { ... }
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
Worker worker = new Worker (jProgressBar1);
worker.execute();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new BarraProgreso1().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JProgressBar jProgressBar1;
// End of variables declaration
}
Codigo Clase Worker:
package barraprogreso1;
import java.util.List;
import javax.swing.JProgressBar;
import javax.swing.SwingWorker;
public class Worker extends SwingWorker
private final JProgressBar progreso;
Worker(JProgressBar barra) {
progreso = barra;
}
@Override
public Double doInBackground() throws Exception {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
publish(i + 1);
}
return 100.00;
}
@Override
protected void done() {
System.out.println("Proceso a acabado");
}
@Override
protected void process(List
//Actualizando la barra de progreso. Datos del publish.
progreso.setValue(chunks.get(0));
}
}
Resultado:
este ejemplo es el de wikki pero omitistes ciertos comentario que son de mucha importancia para comprender el ejemplo. De todas formas grax...
ResponderEliminar