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

[macos] Screen Magnifier: Getting java.awt.IllegalComponentStateException when menu item is selected

XMLWordPrintable

      I have enabled Screen Magnifier on Mac OS ( Accessibility -> Zoom ) and Selecting the menu item throws the following exception

      JDK 18 B35 exception
      -------------------------------
      java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
      at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2114)
      at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2088)
      at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:472)
      at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:470)
      at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:698)
      at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
      at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
      at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
      at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
      at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
      at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
      at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
      at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
      at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
      at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
      at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)


      Step to Reproduce
      ---------------------------
      1) Enable Screen magnifier on theMac
      System Preference -> Accessibility -> Zoom -> Select ( Enable Hover Text)
      2) Run the SwingSet2 Code by passing the following option
       -Djavax.accessibility.screen_magnifier_present=true
      3) Press "CMD" button and move the mouse pointer on different swing component on SwingSet2.
      4) Click on "Options" menu and select the first menu item. If you see the exception then the bug is reproduced.

      I have attached the screen recording for more information.

            kizune Alexander Zuev
            landrews Lawrence Andrews
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: