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

macOS - Making a Frame/Dialog non-resizable causes the UI to become unusable

    Details

    • Subcomponent:
    • CPU:
      x86
    • OS:
      os_x

      Description

      ADDITIONAL SYSTEM INFORMATION :
      macOS Sierra 10.12.4

      macOS Oracle JDK 11-ea+25 or OpenJDK 11-ea build 25 (2018/8/2)

      A DESCRIPTION OF THE PROBLEM :
      On the macOS JDK 11 early access release (both Oracle and OpenJDK), calling Frame.setResizable(false) or Dialog.setResizable(false) causes the frame/dialog to no longer be selectable or focusable. In addition, any text field components within the frame/dialog also are no longer selectable or focusable. The end result is that the UI becomes completely unusable, as the user cannot interact with the frame/dialog in any meaningful way.

      This is reproducible on macOS Oracle JDK 11-ea+25 and macOS OpenJDK 11-ea build 25 (2018/8/2).

      It is NOT reproducible on macOS Oracle JDK 8u181, 9.0.4+11, or 10.0.2+13.

      It is also not reproducible on Windows Oracle JDK 11-ea, indicating that it's likely isolated to the macOS JDK distribution.

      REGRESSION : Last worked in version 10.0.2

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      On macOS, compile and run the code on JDK 11-ea.

      A frame with a text field will appear, but the frame will not be selectable or focusable. The text field within the frame will also not be selectable or focusable.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The frame should be selectable and focusable. The text field within the frame should also be selectable or focusable. The user should be able to click on the text field and type something in.
      ACTUAL -
      The frame is not selectable or focusable. The text field within the frame is also not selectable or focusable. The user is not able to type anything into the text field.

      ---------- BEGIN SOURCE ----------
      import java.awt.Dimension;
      import java.awt.Frame;
      import javax.swing.JTextField;

      public class Test {
          public static void main(String[] args) {
              Frame frame = new Frame();
              JTextField textField = new JTextField();
              frame.add(textField);
              frame.setPreferredSize(new Dimension(100, 100));
              frame.pack();
              frame.setResizable(false);
              frame.setVisible(true);
          }
      }
      ---------- END SOURCE ----------

      FREQUENCY : always


        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                pardesha Pardeep Sharma
                Reporter:
                webbuggrp Webbug Group
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: