FileDocCategorySizeDatePackage
ProgressMonitorExample.javaAPI DocExample1080Mon Nov 09 12:45:54 GMT 1998None

ProgressMonitorExample.java

// ProgressMonitorExample
//
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ProgressMonitorExample extends JPanel implements
    ActionListener {

  static ProgressMonitor pbar;
  static int counter = 0;

  public ProgressMonitorExample() {
    super(true);
    pbar = new ProgressMonitor(this, "Monitoring Progress",
        "Initializing . . .", 0, 100);

    // Fire a timer every once in a while to update the progress
    Timer timer = new Timer(500, this);
    timer.start();
  }

  public static void main(String args[]) {
    new ProgressMonitorExample();
  }

  public void actionPerformed(ActionEvent e) {

    // Invoked by the timer every half second. Simply place
    // the progress monitor update on the event queue.

    SwingUtilities.invokeLater(new Update());
  }

  class Update implements Runnable {
    public void run() {
      if (pbar.isCanceled()) {
        pbar.close();
        System.exit(1);
      }
    pbar.setProgress(counter);
    pbar.setNote("Operation is "+counter+"% complete");
    counter += 2;
    }
  }
}