zl程序教程

您现在的位置是:首页 >  后端

当前栏目

e806. 创建进程监听对话框

进程 创建 监听 对话框
2023-09-14 09:11:59 时间

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