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 Main extends JFrame implements ActionListener { static ProgressMonitor pbar = new ProgressMonitor(null, "Monitoring Progress", "Init. . .", 0, 100); static int counter = 0; public Main() { 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?"); UIManager.put("OptionPane.cancelButtonText", "Go Away"); new Main(); } public void actionPerformed(ActionEvent e) { SwingUtilities.invokeLater(new Runnable() { public void run() { if (pbar.isCanceled()) { pbar.close(); System.exit(1); } pbar.setProgress(counter); pbar.setNote("Operation is " + counter + "% complete"); counter += 2; } }); } }