Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8169589

[macosx] Activating a JDialog puts to back another dialog

    Details

    • Subcomponent:
    • Introduced In Version:
    • Resolved In Build:
      b150
    • CPU:
      x86_64
    • OS:
      os_x

      Backports

        Description

        FULL PRODUCT VERSION :
        java version "1.8.0_112"
        Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
        Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)

        ADDITIONAL OS VERSION INFORMATION :
        Mac OS X 10.7.5
        mac OS 10.12.1

        A DESCRIPTION OF THE PROBLEM :
        If a Swing application opens two dialogs, activating one dialog puts the other one behind the app frame.

        The attached test case also reproduces the problem using 'java.awt', i.e., replacing JFrame by Frame and JDialog by Dialog.

        REGRESSION. Last worked in version 8u102

        ADDITIONAL REGRESSION INFORMATION:
        java version "1.8.0_102"
        Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
        Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Executing the attached test case.

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        Activating each of two dialogs, both dialogs must remain above the app frame.
        ACTUAL -
        Activating one dialog puts the other one behind the app frame.

        REPRODUCIBILITY :
        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        public class Test
        {
            public static void main(String args[])
            {
                JFrame frame = new JFrame("FRAME");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setBounds(200, 50, 300, 300);
                frame.setVisible(true);

                JDialog dlg = new JDialog(frame, "DLG 1", false);
                dlg.setBounds(50, 100, 200, 200);
                dlg.setVisible(true);

                JDialog dlg2 = new JDialog(frame, "DLG 2", false);
                dlg2.setBounds(450, 100, 200, 200);
                dlg2.setVisible(true);
            }
        }
        ---------- END SOURCE ----------

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dmarkov Dmitry Markov
                  Reporter:
                  webbuggrp Webbug Group
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  12 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: