Java tutorial
/* Java Swing, 2nd Edition By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole ISBN: 0-596-00408-7 Publisher: O'Reilly */ // ProgressMonitorExample.java // A demonstration of the ProgressMonitor toolbar. A timer is used to induce // progress. This example also shows how to use the UIManager properties // associated with progress monitors. // import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.ProgressMonitor; import javax.swing.SwingUtilities; import javax.swing.Timer; import javax.swing.UIManager; public class ProgressMonitorExample extends JFrame implements ActionListener { static ProgressMonitor pbar; static int counter = 0; public ProgressMonitorExample() { super("Progress Monitor Demo"); setSize(250, 100); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pbar = new ProgressMonitor(null, "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(); setVisible(true); } public static void main(String args[]) { UIManager.put("ProgressMonitor.progressText", "This is progress?"); UIManager.put("OptionPane.cancelButtonText", "Go Away"); 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; } } }