progmon.html

来自「java类库详细讲解」· HTML 代码 · 共 241 行

HTML
241
字号
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Creating a Progress Monitor Dialog
(Java Developers Almanac Example)
</TITLE>
<META CONTENT="Patrick Chan" NAME="AUTHOR">
<META CONTENT="Code Examples from The Java Developers Almanac 1.4" NAME="DESCRIPTION">
<META CONTENT="Addison-Wesley/Patrick Chan" NAME="OWNER">
<META CONTENT="3/20/02" NAME="revision">
<STYLE TYPE="text/css">
<!--     BODY CODE  {font-family: Courier, Monospace;           font-size: 11pt}    TABLE, BODY          {font-family: Verdana, Arial, Helvetica, sans-serif;           font-size: 10pt}    PRE   {font-family: Courier, Monospace;           font-size: 10pt}    H3    {font-family: Verdana, Arial, Helvetica, sans-serif;           font-size: 11pt}    A.eglink {text-decoration: none}    A:hover.eglink {text-decoration: underline}    -->
</STYLE>
</HEAD>
<BODY>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD rowspan="3"><A HREF="/?l=ex"><IMG BORDER="0" ALIGN="BOTTOM" HSPACE="10" SRC="/egs/almanac14a.jpg"></A></TD><TD VALIGN="top"><font face="Times" size="6"><b>The Java Developers Almanac 1.4</b></font>
<br>
        Order this book from <a href="/cgi-bin/scripts/redirect.pl?l=ex&url=http://www.amazon.com/exec/obidos/ASIN/0201752808/xeo">Amazon</a>.
    </TD>
</TR>
<TR>
<TD align="right" valign="bottom">
<FORM method="get" action="/cgi-bin/search/find.pl">
<INPUT size="25" name="words" type="text"><INPUT value="Search" type="submit">
</FORM>
</TD>
</TR>
</TABLE>
<HR color="#6666cc">
<DIV ALIGN="LEFT">
<A HREF="/">Home</A>
    &gt;
    <A HREF="../index.html">List of Packages</A>
    &gt;
    <B><A HREF="../javax.swing/pkg.html">javax.swing</A></B><font color="#666666" SIZE="-2">
        &nbsp;[136 examples]
        </font>
        &gt;
        <B><A HREF="../javax.swing/pkg.html#Progress%20Monitor">Progress Monitor</A></B><font color="#666666" SIZE="-2">
            &nbsp;[2 examples]
            </font>
</DIV><P>
  <h3>
    e806.  
    Creating a Progress Monitor Dialog</h3>

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 <code>ProgressMonitor</code> class is a convenient dialog that
implements a progress dialog.

<P> 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 <font color="#0066ff"><i>note</i></font> 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.

<P> 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.

<P> See also <a href="../javax.swing/progress_Progress.html" class="eglink"><font size="-1"><b>e801</b> Creating a JProgressBar Component</font></a>.


<pre>
    // This message describes the task that is running
    String message = <font color="#0066ff"><i>"Description of Task"</i></font>;
    
    // This string describes a subtask; set to null if not needed
    String note = <font color="#0066ff"><i>"subtask"</i></font>;
    
    // Set the title of the dialog if desired
    String title = <font color="#0066ff"><i>"Task Title"</i></font>;
    UIManager.put("ProgressMonitor.progressText", title);
    
    // Create a progress monitor dialog.
    // The dialog will use the supplied component's frame as the parent.
    int min = <font color="#0066ff"><i>0</i></font>;
    int max = <font color="#0066ff"><i>100</i></font>;
    ProgressMonitor pm = new ProgressMonitor(<font color="#0066ff"><i>component</i></font>, message, note, min, max);
</pre>

As the task progresses, check to see if the task has been cancelled
and if not, call <code>setProgress()</code> and supply its current state.


<pre>
    // Check if the dialog has been cancelled
    boolean cancelled = pm.isCanceled();
    
    if (cancelled) {
        // Stop task
    } else {
        // Set new state
        pm.setProgress(<font color="#0066ff"><i>newValue</i></font>);
    
        // Change the note if desired
        pm.setNote(<font color="#0066ff"><i>"New Note"</i></font>);
    }
</pre>
<P><table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td bgcolor="#6666cc" align="center"><font color="#ffffff">
            &nbsp;Related Examples
        </font></td>
</tr>
</table>


e807. <a class="eglink" href="ProgMonPop.html?l=rel">
    Setting the Popup Delay of a Progress Monitor Dialog
</a>
<br>


<table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td align="left">
<br>
        See also: 
<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#Actions">
    Actions
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JButton">
    JButton
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JCheckBox">
    JCheckBox
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JComboBox">
    JComboBox
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JDesktop%20and%20JInternalFrame">
    JDesktop and JInternalFrame
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JFrame,%20JWindow,%20JDialog">
    JFrame, JWindow, JDialog
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JLabel">
    JLabel
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JList">
    JList
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JProgressBar">
    JProgressBar
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JRadioButton">
    JRadioButton
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JScrollPane">
    JScrollPane
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JSlider">
    JSlider
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JSpinner">
    JSpinner
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JSplitPane">
    JSplitPane
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JTabbedPane">
    JTabbedPane
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#JToolBar">
    JToolBar
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#Keystrokes%20and%20Input%20Maps">
    Keystrokes and Input Maps
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#Layout">
    Layout
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#Look%20and%20Feel">
    Look and Feel
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#Menus">
    Menus
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#The%20Screen">
    The Screen
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#Tool%20Tips">
    Tool Tips
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/javax.swing/pkg.html?l=rel#UI%20Default%20Values">
    UI Default Values
</a>&nbsp;&nbsp;

</td>
</tr>
</table>

<br>

<br>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="0">
&copy; 2002 Addison-Wesley.
</FONT>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?