src/java.desktop/share/classes/java/awt/doc-files/Modality.html
changeset 58325 d32a3b1ca84a
parent 52831 4e9739110cf1
child 58595 fa9f28a0e175
equal deleted inserted replaced
58324:0aba35254e00 58325:d32a3b1ca84a
     7     td {text-align: center;}
     7     td {text-align: center;}
     8     tr {text-align: center;}
     8     tr {text-align: center;}
     9   </style>
     9   </style>
    10 </head>
    10 </head>
    11 <!--
    11 <!--
    12  Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
    12  Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
    13  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    13  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    14 
    14 
    15  This code is free software; you can redistribute it and/or modify it
    15  This code is free software; you can redistribute it and/or modify it
    16  under the terms of the GNU General Public License version 2 only, as
    16  under the terms of the GNU General Public License version 2 only, as
    17  published by the Free Software Foundation.  Oracle designates this
    17  published by the Free Software Foundation.  Oracle designates this
    55 
    55 
    56     <a id="Definitions"></a>
    56     <a id="Definitions"></a>
    57     <h2>Definitions</h2>
    57     <h2>Definitions</h2>
    58 
    58 
    59     <p>
    59     <p>
    60       <u>Document</u> - a window without an owner that, together with
    60       Document - a window without an owner that, together with
    61       all its child hierarchy, may be operated on as a single self-contained
    61       all its child hierarchy, may be operated on as a single self-contained
    62       document.
    62       document.
    63       Every window belongs to some document &mdash; its root can be found as
    63       Every window belongs to some document &mdash; its root can be found as
    64       the closest ancestor window without an owner.
    64       the closest ancestor window without an owner.
    65     </p><p>
    65     </p><p>
    66       <a id="ModalBlocked"></a>
    66       <a id="ModalBlocked"></a>
    67       <u>Modal blocked window</u> - a window, that:
    67       Modal blocked window - a window, that:
    68       </p><ul>
    68       </p><ul>
    69         <li>doesn't receive any user input events
    69         <li>doesn't receive any user input events
    70         </li><li>doesn't receive input focus
    70         </li><li>doesn't receive input focus
    71         </li><li>keeps its Z-order below the modal dialog that blocks it
    71         </li><li>keeps its Z-order below the modal dialog that blocks it
    72       </li></ul>
    72       </li></ul>
    76           Z-order in an arbitrary way &mdash; in that case the last requirement
    76           Z-order in an arbitrary way &mdash; in that case the last requirement
    77           may not be met.
    77           may not be met.
    78         <hr>
    78         <hr>
    79       </blockquote>
    79       </blockquote>
    80     <p>
    80     <p>
    81       <u>Modal dialog</u> - a dialog that blocks some windows while it is
    81       Modal dialog - a dialog that blocks some windows while it is
    82       visible. The blocked windows are determined according to the dialog's
    82       visible. The blocked windows are determined according to the dialog's
    83       scope of blocking.
    83       scope of blocking.
    84     </p><p>
    84     </p><p>
    85       <u>Modal excluded window</u> - a window that stays unblocked
    85       Modal excluded window - a window that stays unblocked
    86       while the modal dialog is visible. If a window is modal excluded
    86       while the modal dialog is visible. If a window is modal excluded
    87       then all its owned windows and child components are also excluded.
    87       then all its owned windows and child components are also excluded.
    88     </p><p>
    88     </p><p>
    89       <u>Scope of blocking (SB)</u> - the set of windows (instances of
    89       Scope of blocking (SB) - the set of windows (instances of
    90       <code>java.awt.Window</code> and all derived classes) that are blocked by
    90       <code>java.awt.Window</code> and all derived classes) that are blocked by
    91       the modal dialog while it is visible.
    91       the modal dialog while it is visible.
    92      <blockquote><hr>
    92      <blockquote><hr>
    93       <b>Note</b>: Everywhere in this document the notion of "window" is equal
    93       <b>Note</b>: Everywhere in this document the notion of "window" is equal
    94       to a top-level window in the Java programming language &mdash; in other words
    94       to a top-level window in the Java programming language &mdash; in other words
   107         </li><li>modeless
   107         </li><li>modeless
   108       </li></ul>
   108       </li></ul>
   109       A dialog is, by default, modeless.  A modal dialog is, by default,
   109       A dialog is, by default, modeless.  A modal dialog is, by default,
   110       application-modal.
   110       application-modal.
   111     <ol>
   111     <ol>
   112       <li><u>Modeless dialogs</u><br>
   112       <li>Modeless dialogs<br>
   113         A modeless dialog doesn't block any windows while visible.
   113         A modeless dialog doesn't block any windows while visible.
   114       </li><li><u>Document-modal dialogs</u><br>
   114       </li><li>Document-modal dialogs<br>
   115         A document-modal dialog blocks all windows from the same
   115         A document-modal dialog blocks all windows from the same
   116         document except those from its child hierarchy. The document root
   116         document except those from its child hierarchy. The document root
   117         is determined as the closest ancestor window without an
   117         is determined as the closest ancestor window without an
   118         owner.
   118         owner.
   119       </li><li><u>Application-modal dialogs</u><br>
   119       </li><li>Application-modal dialogs<br>
   120         An application-modal dialog blocks all windows from the same
   120         An application-modal dialog blocks all windows from the same
   121         application except for those from its child hierarchy.
   121         application except for those from its child hierarchy.
   122         If there are several applets launched in a browser, they can be
   122         If there are several applets launched in a browser, they can be
   123         treated either as separate applications or a single application.
   123         treated either as separate applications or a single application.
   124 	This behavior is implementation-dependent.
   124 	This behavior is implementation-dependent.
   125       </li><li><u>Toolkit-modal dialogs</u><br>
   125       </li><li>Toolkit-modal dialogs<br>
   126         A toolkit-modal dialog blocks all windows that run in the same
   126         A toolkit-modal dialog blocks all windows that run in the same
   127         toolkit except those from its child hierarchy. If there
   127         toolkit except those from its child hierarchy. If there
   128         are several applets launched all of them run with the same toolkit,
   128         are several applets launched all of them run with the same toolkit,
   129         so a toolkit-modal dialog shown from an applet may affect other
   129         so a toolkit-modal dialog shown from an applet may affect other
   130         applets and all windows of the browser instance which embeds the
   130         applets and all windows of the browser instance which embeds the
   161 
   161 
   162     <a id="ShowHideBlocking"></a>
   162     <a id="ShowHideBlocking"></a>
   163     <h2>Show/hide blocking</h2>
   163     <h2>Show/hide blocking</h2>
   164 
   164 
   165     <p>
   165     <p>
   166       <u>Showing the window or modeless dialog: "F"</u><br>
   166       Showing the window or modeless dialog: "F"<br>
   167       All the visible modal dialogs are looked through &mdash; if F is from the SB
   167       All the visible modal dialogs are looked through &mdash; if F is from the SB
   168       of one of them, it becomes blocked by it. If there are several such
   168       of one of them, it becomes blocked by it. If there are several such
   169       dialogs, the first shown is used. If no such dialogs exist, F remains
   169       dialogs, the first shown is used. If no such dialogs exist, F remains
   170       unblocked.
   170       unblocked.
   171     </p><p>
   171     </p><p>
   172       <u>Showing the modal dialog: "M"</u><br>
   172       Showing the modal dialog: "M"<br>
   173       When modal dialog M is shown, all the visible windows fall into one of
   173       When modal dialog M is shown, all the visible windows fall into one of
   174       three distinct groups:
   174       three distinct groups:
   175       <ul>
   175       <ul>
   176       <li>Blockers of M (modal dialogs that block M and
   176       <li>Blockers of M (modal dialogs that block M and
   177       either are in M's child hierarchy, or are not blocked by M, or have
   177       either are in M's child hierarchy, or are not blocked by M, or have
   186       After the modal dialog M is shown, it becomes blocked by the first shown
   186       After the modal dialog M is shown, it becomes blocked by the first shown
   187       dialog from the first group (if there are any), all the windows from the
   187       dialog from the first group (if there are any), all the windows from the
   188       second one become blocked by M, and all the windows from the third group
   188       second one become blocked by M, and all the windows from the third group
   189       remain untouched.
   189       remain untouched.
   190     </p><p>
   190     </p><p>
   191       <u>In typical cases</u>, when no child dialogs are shown before their owners,
   191       In typical cases, when no child dialogs are shown before their owners,
   192       this rule can be simplified. (The following, simplified case, may
   192       this rule can be simplified. (The following, simplified case, may
   193       leave out some details).
   193       leave out some details).
   194       </p><p>
   194       </p><p>
   195       <u>Showing the document-modal dialog: "M"</u><br>
   195       Showing the document-modal dialog: "M"<br>
   196       All the visible application- and toolkit-modal dialogs are looked
   196       All the visible application- and toolkit-modal dialogs are looked
   197       through &mdash; if M is from the SB of one of them,
   197       through &mdash; if M is from the SB of one of them,
   198       it becomes blocked by it. If there are several such dialogs,
   198       it becomes blocked by it. If there are several such dialogs,
   199       the first shown is used. If no such dialogs exist, M remains unblocked.
   199       the first shown is used. If no such dialogs exist, M remains unblocked.
   200       </p><p>
   200       </p><p>
   201       <u>Showing the application-modal dialog: "M"</u><br>
   201       Showing the application-modal dialog: "M"<br>
   202       All the visible toolkit-modal dialogs are looked through &mdash;
   202       All the visible toolkit-modal dialogs are looked through &mdash;
   203       if M is from the SB of one of them, it becomes blocked by it.
   203       if M is from the SB of one of them, it becomes blocked by it.
   204       If there are several such dialogs, the first shown is used.
   204       If there are several such dialogs, the first shown is used.
   205       If no such dialogs exist, M remains unblocked.
   205       If no such dialogs exist, M remains unblocked.
   206       </p><p>
   206       </p><p>
   207       <u>Showing the toolkit-modal dialog: "M"</u><br>
   207       Showing the toolkit-modal dialog: "M"<br>
   208       M remains unblocked.
   208       M remains unblocked.
   209 
   209 
   210           <table border="1">
   210           <table border="1">
   211 	  <caption>The Standard Blocking Matrix</caption>
   211 	        <caption>The Standard Blocking Matrix</caption>
   212             <tbody><tr>
   212             <tbody><tr>
   213               <td>current/shown</td>
   213               <th scope="col">current/shown</th>
   214               <td>frame &amp; modeless</td>
   214               <th scope="col">frame &amp; modeless</th>
   215               <td>document</td>
   215               <th scope="col">document</th>
   216               <td>application</td>
   216               <th scope="col">application</th>
   217               <td>toolkit</td>
   217               <th scope="col">toolkit</th>
   218             </tr>
   218             </tr>
   219             <tr>
   219             <tr>
   220               <td>-</td>
   220               <th scope="row">-</th>
   221               <td>-</td>
   221               <td>-</td>
   222               <td>-</td>
   222               <td>-</td>
   223               <td>-</td>
   223               <td>-</td>
   224               <td>-</td>
   224               <td>-</td>
   225             </tr>
   225             </tr>
   226             <tr>
   226             <tr>
   227               <td>document</td>
   227               <th scope="row">document</th>
   228               <td>blocked</td>
   228               <td>blocked</td>
   229               <td>-</td>
   229               <td>-</td>
   230               <td>-</td>
   230               <td>-</td>
   231               <td>-</td>
   231               <td>-</td>
   232             </tr>
   232             </tr>
   233             <tr>
   233             <tr>
   234               <td>application</td>
   234               <th scope="row">application</th>
   235               <td>blocked</td>
   235               <td>blocked</td>
   236               <td>blocked</td>
   236               <td>blocked</td>
   237               <td>-</td>
   237               <td>-</td>
   238               <td>-</td>
   238               <td>-</td>
   239             </tr>
   239             </tr>
   240             <tr>
   240             <tr>
   241               <td>toolkit</td>
   241               <th scope="row">toolkit</th>
   242               <td>blocked</td>
   242               <td>blocked</td>
   243               <td>blocked</td>
   243               <td>blocked</td>
   244               <td>blocked</td>
   244               <td>blocked</td>
   245               <td>-</td>
   245               <td>-</td>
   246             </tr>
   246             </tr>
   248         </table>
   248         </table>
   249       <p>
   249       <p>
   250       After the modal dialog is shown, all the windows from its SB are blocked,
   250       After the modal dialog is shown, all the windows from its SB are blocked,
   251       except those that block this modal dialog.
   251       except those that block this modal dialog.
   252     </p><p>
   252     </p><p>
   253       <u>Hiding the window or modeless dialog: "F"</u><br>
   253       Hiding the window or modeless dialog: "F"<br>
   254       If F was blocked by any modal dialog M, it becomes unblocked and is
   254       If F was blocked by any modal dialog M, it becomes unblocked and is
   255       removed from M's blocked windows list.
   255       removed from M's blocked windows list.
   256     </p><p>
   256     </p><p>
   257       <u>Hiding the modal dialog: "M"</u><br>
   257       Hiding the modal dialog: "M"<br>
   258       If M was blocked by any other modal dialog, for example, "N",
   258       If M was blocked by any other modal dialog, for example, "N",
   259       it becomes unblocked and
   259       it becomes unblocked and
   260       is removed from N's blocked windows list. Then, all the windows and dialogs
   260       is removed from N's blocked windows list. Then, all the windows and dialogs
   261       blocked by M become unblocked, and after that the same checks
   261       blocked by M become unblocked, and after that the same checks
   262       (as in Showing the modal dialog: "M")
   262       (as in Showing the modal dialog: "M")
   271         <li>Exclusion from blocking of toolkit-modal dialogs
   271         <li>Exclusion from blocking of toolkit-modal dialogs
   272         </li><li>Exclusion from blocking of application-modal dialogs
   272         </li><li>Exclusion from blocking of application-modal dialogs
   273       </li></ul>
   273       </li></ul>
   274       By default, a window's modal exclusion property is turned off.
   274       By default, a window's modal exclusion property is turned off.
   275       <ol>
   275       <ol>
   276         <li><u>Application-modal exclusion</u><br>
   276         <li>Application-modal exclusion<br>
   277           If a window is application-modal excluded, it is not blocked by any
   277           If a window is application-modal excluded, it is not blocked by any
   278           application-modal dialogs. Also, it is not blocked by document-modal
   278           application-modal dialogs. Also, it is not blocked by document-modal
   279           dialogs from outside of its child hierarchy.
   279           dialogs from outside of its child hierarchy.
   280         </li><li><u>Toolkit-modal exclusion</u><br>
   280         </li><li>Toolkit-modal exclusion<br>
   281           If a window is toolkit-modal excluded, it is not blocked
   281           If a window is toolkit-modal excluded, it is not blocked
   282           by any application- or toolkit-modal dialogs. Also, it is not
   282           by any application- or toolkit-modal dialogs. Also, it is not
   283           blocked by document-modal dialogs from outside of their child hierarchy.
   283           blocked by document-modal dialogs from outside of their child hierarchy.
   284       </li></ol>
   284       </li></ol>
   285     <blockquote>
   285     <blockquote>
   286       <hr>
   286       <hr>
   287         <b>Implementation note</b>: Changing the modal exclusion type for a visible window
   287         <b>Implementation note</b>: Changing the modal exclusion type for a visible window
   288         may have no effect until it is hidden and then shown again.
   288         may have no effect until it is hidden and then shown again.<hr>
   289     </blockquote>
   289     </blockquote>
   290 
   290 
   291     <a id="Related"></a>
   291     <a id="Related"></a>
   292     <h2>Related AWT features</h2>
   292     <h2>Related AWT features</h2>
   293 
   293 
   294     <p>
   294     <p>
   295       <u>Always-On-Top</u><br>
   295       Always-On-Top<br>
   296       When a modal dialog that is not always-on-top blocks an always-on-top window,
   296       When a modal dialog that is not always-on-top blocks an always-on-top window,
   297       their relative Z-order is unspecified and platform-dependent.
   297       their relative Z-order is unspecified and platform-dependent.
   298     </p>
   298     </p>
   299     <p>
   299     <p>
   300       <u>The <code>toFront()</code> and <code>toBack()</code> methods</u><br>
   300       The <code>toFront()</code> and <code>toBack()</code> methods<br>
   301       A modal dialog should always be above all its blocked windows. Thus, if a blocked
   301       A modal dialog should always be above all its blocked windows. Thus, if a blocked
   302       window is brought to the front, its blocking dialog, if any, is also brought to the
   302       window is brought to the front, its blocking dialog, if any, is also brought to the
   303       front and remains above the blocked window. Likewise, if a modal dialog is sent to
   303       front and remains above the blocked window. Likewise, if a modal dialog is sent to
   304       the back, all of its blocked windows are sent to the back to keep them below the
   304       the back, all of its blocked windows are sent to the back to keep them below the
   305       blocking dialog.
   305       blocking dialog.
   306     </p>
   306     </p>
   307     <p>
   307     <p>
   308       <u>Minimizing, maximizing and closing blocked windows</u><br>
   308       Minimizing, maximizing and closing blocked windows<br>
   309       When a modal dialog blocks a window, the user may not be able to maximize or
   309       When a modal dialog blocks a window, the user may not be able to maximize or
   310       minimize the blocked window&mdash; however, the actual behavior is unspecified
   310       minimize the blocked window&mdash; however, the actual behavior is unspecified
   311       and platform-dependent. In any case, the user can't close the blocked window
   311       and platform-dependent. In any case, the user can't close the blocked window
   312       interactively&mdash; but it can be closed programmatically by calling the
   312       interactively&mdash; but it can be closed programmatically by calling the
   313       <code>setVisible(false)</code> or <code>dispose()</code> methods on the blocked
   313       <code>setVisible(false)</code> or <code>dispose()</code> methods on the blocked
   314       window.
   314       window.
   315     </p>
   315     </p>
   316     <p>
   316     <p>
   317       <u>Blocked windows activations</u><br>
   317       Blocked windows activations<br>
   318       When the user selects a blocked window, it may be brought to the front, along
   318       When the user selects a blocked window, it may be brought to the front, along
   319       with the blocking modal dialog which would then become the active window&mdash;
   319       with the blocking modal dialog which would then become the active window&mdash;
   320       however, the actual behavior is unspecified and platform-dependent.
   320       however, the actual behavior is unspecified and platform-dependent.
   321     </p>
   321     </p>
   322     <p>
   322     <p>
   323       <u>Hiding a modal dialog</u><br>
   323       Hiding a modal dialog<br>
   324       When the modal dialog that currently has focus is hidden, it is unspecified
   324       When the modal dialog that currently has focus is hidden, it is unspecified
   325       and platform-dependent, which other window will become the active window.
   325       and platform-dependent, which other window will become the active window.
   326       Any of the following may become the active window:
   326       Any of the following may become the active window:
   327       <ol>
   327       <ol>
   328         <li>The owner of the modal dialog - if the owner is unblocked.
   328         <li>The owner of the modal dialog - if the owner is unblocked.
   376       applets and applications launched from Java Web Start.
   376       applets and applications launched from Java Web Start.
   377 
   377 
   378     <a id="Examples"></a>
   378     <a id="Examples"></a>
   379     </p><h2>Examples</h2>
   379     </p><h2>Examples</h2>
   380 
   380 
   381     <table border="0">
   381     <h3>Example 1</h3>
   382       <tbody><tr>
   382     <ol style="float: left">
   383         <td style="text-align:left" >
   383         <li>Frame F is shown<br>
   384 	<ol>
   384         <li>Document-modal dialog D<sub>i</sub> is shown<br>
   385           <li>Frame "F" is shown<br>
   385         <li>F becomes blocked by D<sub>i</sub> &mdash; it's in the same document<br>
   386           <li>Document-modal dialog "D<sub>i</sub>" is shown<br>
   386         <li>Document-modal dialog D<sub>ii</sub> is shown<br>
   387           <li>F becomes blocked by D<sub>i</sub> &mdash; it's in the same document<br>
   387         <li>D<sub>i</sub> becomes blocked by D<sub>ii</sub> &mdash; it's in the
   388           <li>Document-modal dialog "D<sub>ii</sub>" is shown<br>
   388             same document<br>
   389           <li>D<sub>i</sub> becomes blocked by D<sub>ii</sub> &mdash; it's in the
   389     </ol>
   390               same document<br>
   390     <p style="float: left; margin-left: 1em">
   391 	  </ol>
   391         <img src="modal-example1.gif" alt="Example 1">
   392           <br>
   392     </p>
   393         </td>
   393 
   394         <td>
   394     <h3 style="clear: left">Example 2</h3>
   395           <img src="modal-example1.gif" alt="Example 1">
   395     <ol style="float: left">
   396           <br>
   396         <li>Frame F is shown<br>
   397         </td>
   397         <li>Document-modal dialog D<sub>i</sub> is shown<br>
   398       </tr>
   398         <li>F becomes blocked by D<sub>i</sub> &mdash; it's in the same document<br>
   399       <tr>
   399         <li>Document-modal dialog D<sub>ii</sub> is shown<br>
   400         <td style="text-align:left">
   400         <li>D<sub>i</sub> becomes blocked by D<sub>ii</sub> &mdash; it's in the
   401 	<ol>
   401             same document<br>
   402          <li>Frame "F" is shown<br>
   402     </ol>
   403          <li>Document-modal dialog "D<sub>i</sub>" is shown<br>
   403     <p style="float: left; margin-left: 1em">
   404          <li>F becomes blocked by D<sub>i</sub> &mdash; it's in the same document<br>
   404         <img src="modal-example2.gif" alt="Example 2">
   405          <li>Document-modal dialog "D<sub>ii</sub>" is shown<br>
   405     </p>
   406          <li>D<sub>i</sub> becomes blocked by D<sub>ii</sub> &mdash;
   406 
   407              it's in the same document<br>
   407     <h3 style="clear: left">Example 3</h3>
   408          <li>D<sub>i</sub> is hidden<br>
   408     <ol style="float: left">
   409          <li>F becomes blocked by D<sub>ii</sub> &mdash; it's in the same document<br>
   409         <li>Frame F is shown<br>
   410          </ol>
   410         <li>Toolkit-modal dialog D<sub>i</sub> is created, but not shown<br>
   411 	 <br>
   411         <li>Document-modal dialog D<sub>ii</sub> is shown<br>
   412         </td>
   412         <li>F becomes blocked by D<sub>ii</sub> &mdash; it's in the same document<br>
   413         <td>
   413         <li>Application-modal dialog D<sub>iii</sub> is shown<br>
   414           <img src="modal-example2.gif" alt="Example 2">
   414         <li>D<sub>ii</sub> becomes blocked by D<sub>iii</sub> &mdash;
   415           <br>
   415             it's in the same application<br>
   416         </td>
   416         <li>D<sub>i</sub> is shown<br>
   417       </tr>
   417         <li>D<sub>i</sub> becomes blocked by D<sub>ii</sub> &mdash; it's its owner<br>
   418       <tr>
   418         <li>D<sub>iii</sub> remains unblocked &mdash; it blocks D<sub>ii</sub> and
   419         <td style="text-align:left">
   419             D<sub>ii</sub> blocks D<sub>i</sub><br>
   420 	<ol>
   420     </ol>
   421           <li>Frame "F" is shown<br>
   421     <p style="float: left; margin-left: 1em">
   422           <li>Toolkit-modal dialog "D<sub>i</sub>" is created, but not shown<br>
   422         <img src="modal-example3.gif" alt="Example 3">
   423           <li>Document-modal dialog "D<sub>ii</sub>" is shown<br>
   423     </p>
   424           <li>F becomes blocked by D<sub>ii</sub> &mdash; it's in the same document<br>
   424 
   425           <li>Application-modal dialog "D<sub>iii</sub>" is shown<br>
   425     <h3 style="clear: left">Example 4</h3>
   426           <li>D<sub>ii</sub> becomes blocked by D<sub>iii</sub> &mdash;
   426     <ol style="float: left">
   427               it's in the same application<br>
   427         <li>Frame F is shown<br>
   428           <li>D<sub>i</sub> is shown<br>
   428         <li>Toolkit-modal dialog D<sub>i</sub> is created, but not shown<br>
   429           <li>D<sub>i</sub> becomes blocked by D<sub>ii</sub> &mdash; it's its owner<br>
   429         <li>Document-modal dialog D<sub>ii</sub> is shown<br>
   430           <li>D<sub>iii</sub> remains unblocked &mdash; it blocks D<sub>ii</sub> and
   430         <li>F becomes blocked by D<sub>ii</sub> &mdash; it's in the same document<br>
   431               D<sub>ii</sub> blocks D<sub>i</sub><br>
   431         <li>Application-modal dialog D<sub>iii</sub> is shown<br>
   432 	  </ol>
   432         <li>D<sub>ii</sub> becomes blocked by D<sub>iii</sub> &mdash; it's in the
   433           <br>
   433             same application<br>
   434         </td>
   434         <li>D<sub>i</sub> is shown<br>
   435         <td>
   435         <li>D<sub>iii</sub> becomes blocked by D<sub>i</sub> &mdash; D<sub>i</sub>
   436           <img src="modal-example3.gif" alt="Example 3">
   436             is not blocked<br>
   437           <br>
   437         <li>D<sub>i</sub> remains unblocked<br>
   438         </td>
   438     </ol>
   439       </tr>
   439     <p style="float: left; margin-left: 1em">
   440       <tr>
   440         <img src="modal-example4.gif" alt="Example 4">
   441         <td style="text-align:left">
   441     </p>
   442     <ol>
   442     <br style="clear:both;">
   443           <li>Frame "F" is shown<br>
       
   444           <li>Toolkit-modal dialog "D<sub>i</sub>" is created, but not shown<br>
       
   445           <li>Document-modal dialog "D<sub>ii</sub>" is shown<br>
       
   446           <li>F becomes blocked by D<sub>ii</sub> &mdash; it's in the same document<br>
       
   447           <li>Application-modal dialog "D<sub>iii</sub>" is shown<br>
       
   448           <li>D<sub>ii</sub> becomes blocked by D<sub>iii</sub> &mdash; it's in the
       
   449               same application<br>
       
   450           <li>D<sub>i</sub> is shown<br>
       
   451           <li>D<sub>iii</sub> becomes blocked by D<sub>i</sub> &mdash; D<sub>i</sub>
       
   452               is not blocked<br>
       
   453           <li>D<sub>i</sub> remains unblocked<br>
       
   454 	  </ol>
       
   455           <br>
       
   456         </td>
       
   457         <td>
       
   458           <img src="modal-example4.gif" alt="Example 4">
       
   459           <br>
       
   460         </td>
       
   461       </tr>
       
   462     </tbody></table>
       
   463 </main>
   443 </main>
   464 </body></html>
   444 </body></html>