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

[macos] Voice Over: java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location

XMLWordPrintable

      TestCase : Test whether File Chooser is visible and Voice over reads the correct values on the File Chooser
      Expected Results: File Chooser is visible and Voice over read the values to the user & no exception is thrown.
      Actual Results : "java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location" is thrown

      Step to Reproduce :
      ------------------------------
      1) Run SwingSet with -Djavax.accessibility.screen_magnifier_present=true
      2) Enable Voice Over
      3) Select FileChooser Demo from SwingSet2
      4) Click on "Show Plain JFileChooser"
      5) Press Tab so that JFileChooser Table gets the focus
      6) Press "Escape' Key
      7) If you see the java.awt.IllegalComponentStateException exception then the bug is reproduced
      8) Repeat step(4) to step(6) multiple times and the exception is reproduced.


      java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
      at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113)
      at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087)
      at java.desktop/javax.swing.table.JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.getLocationOnScreen(JTableHeader.java:1364)
      at java.desktop/sun.lwawt.macosx.CAccessibility$13.call(CAccessibility.java:297)
      at java.desktop/sun.lwawt.macosx.CAccessibility$13.call(CAccessibility.java:295)
      at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:701)
      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:400)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
      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:400)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
      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)


      Tested on Mac 14.3.1

            abhiscxk Abhishek Kumar
            landrews Lawrence Andrews
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: