Java tutorial
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 MainClass extends JFrame implements ActionListener { static ProgressMonitor pbar = new ProgressMonitor(null, "Monitoring Progress", "Initializing . . .", 0, 100); static int counter = 0; public MainClass() { super("Progress Monitor Demo"); setSize(250, 100); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Timer timer = new Timer(500, this); timer.start(); setVisible(true); } public static void main(String args[]) { UIManager.put("ProgressMonitor.progressText", "This is progress?"); new MainClass(); } public void actionPerformed(ActionEvent e) { 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; } } }