e806. 创建进程监听对话框
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 创建一个JProgressBar组件.
// 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 |