The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.swing  [141 examples] > Progress Monitor  [2 examples]

e806. Creating a Progress Monitor Dialog

A common feature of a user interface is to show a progress dialog that visually displays the progress of a long-running task. The dialog automatically disappears when the task is done. The ProgressMonitor class is a convenient dialog that implements a progress dialog.

The progress monitor contains a message which describes the long-running task. The message does not change for the duration of the task. The progress monitor also allows for a note which is a description of the current subtask. For example, if the task is copying a set of files, the note could be the name of the current file being copied.

Note: A progress monitor should not be reused. The properties that control when the dialog should appear are set when the monitor is constructed and cannot be reset.

See also e801 Creating a JProgressBar Component.

    // This message describes the task that is running
    String message = "Description of Task";
    
    // This string describes a subtask; set to null if not needed
    String note = "subtask";
    
    // Set the title of the dialog if desired
    String title = "Task Title";
    UIManager.put("ProgressMonitor.progressText", title);
    
    // Create a progress monitor dialog.
    // The dialog will use the supplied component's frame as the parent.
    int min = 0;
    int max = 100;
    ProgressMonitor pm = new ProgressMonitor(component, message, note, min, max);
As the task progresses, check to see if the task has been cancelled and if not, call setProgress() and supply its current state.
    // Check if the dialog has been cancelled
    boolean cancelled = pm.isCanceled();
    
    if (cancelled) {
        // Stop task
    } else {
        // Set new state
        pm.setProgress(newValue);
    
        // Change the note if desired
        pm.setNote("New Note");
    }

 Related Examples
e807. Setting the Popup Delay of a Progress Monitor Dialog

See also: Actions    JButton    JCheckBox    JComboBox    JDesktop and JInternalFrame    JFrame, JWindow, JDialog    JLabel    JList    JProgressBar    JRadioButton    JScrollPane    JSlider    JSpinner    JSplitPane    JTabbedPane    JToolBar    Keystrokes and Input Maps    Layout    Look and Feel    Menus    The Screen    Tool Tips    UI Default Values   


© 2002 Addison-Wesley.