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

JDialog.setVisible(true) in lambda Expression

XMLWordPrintable

      ADDITIONAL SYSTEM INFORMATION :
      Windows XP, 7, 10.
      Java 1.8.0_144

      A DESCRIPTION OF THE PROBLEM :
      We have several hundreds of installations of our swing based software on different versions of Windows but vih same JVM version.
      About 6 months ago we upgraded to Java 8 from 7.
      Happily using lambda expressions to add actionListeners to different Swing components (JButton, JMenu, etc) we notices a sporadic runtime exception throws in a lambda when inside the lambda instantiating a JDialog and showing it with setVisible(true).


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Cannot since it happens sporadically.

      ACTUAL -
      <br>java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
      <br> at java.util.Vector.elementAt(Unknown Source)
      <br> at javax.swing.MenuSelectionManager.setSelectedPath(Unknown Source)
      <br> at javax.swing.MenuSelectionManager.clearSelectedPath(Unknown Source)
      <br> at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu(Unknown Source)
      <br> at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(Unknown Source)
      <br> at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
      <br> at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
      <br> at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
      <br> at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source)
      <br> at java.awt.Component.dispatchEventImpl(Unknown Source)
      <br> at java.awt.Container.<unknown>(Unknown Source)
      <br> at java.awt.Window.dispatchEventImpl(Unknown Source)
      <br> at java.awt.Component.<unknown>(Unknown Source)
      <br> at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      <br> at java.awt.EventQueue.<unknown>(Unknown Source)
      <br> at java.awt.EventQueue$3.run(Unknown Source)
      <br> at java.awt.EventQueue$3.run(Unknown Source)
      <br> at java.security.AccessController.<unknown>(Unknown Source)
      <br> at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      <br> at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      <br> at java.awt.EventQueue$4.run(Unknown Source)
      <br> at java.awt.EventQueue$4.run(Unknown Source)
      <br> at java.security.AccessController.<unknown>(Unknown Source)
      <br> at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      <br> at java.awt.EventQueue.dispatchEvent(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      <br> at java.awt.WaitDispatchSupport$2.run(Unknown Source)
      <br> at java.awt.WaitDispatchSupport$4.run(Unknown Source)
      <br> at java.awt.WaitDispatchSupport$4.run(Unknown Source)
      <br> at java.security.AccessController.<unknown>(Unknown Source)
      <br> at java.awt.WaitDispatchSupport.enter(Unknown Source)
      <br> at java.awt.Dialog.show(Unknown Source)
      <br> at java.awt.Component.show(Unknown Source)
      <br> at java.awt.Component.<unknown>(Unknown Source)
      <br> at java.awt.Window.<unknown>(Unknown Source)
      <br> at java.awt.Dialog.setVisible(Unknown Source)
      <br> at advit.employeelog.DialogEmpLogHistory.<init>(DialogEmpLogHistory.java:123)
      <br> at advit.logicash.Main.jMenuItemEmployeeHistory_actionPerformed(Main.java:1149)
      <br> at advit.logicash.Main.lambda$jbInit$44(Main.java:453)
      <br> at advit.logicash.Main$$Lambda$340.actionPerformed(Unknown Source)
      <br> at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
      <br> at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
      <br> at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
      <br> at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
      <br> at javax.swing.AbstractButton.doClick(Unknown Source)
      <br> at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
      <br> at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
      <br> at java.awt.Component.<unknown>(Unknown Source)
      <br> at javax.swing.JComponent.processMouseEvent(Unknown Source)
      <br> at java.awt.Component.processEvent(Unknown Source)
      <br> at java.awt.Container.processEvent(Unknown Source)
      <br> at java.awt.Component.dispatchEventImpl(Unknown Source)
      <br> at java.awt.Container.dispatchEventImpl(Unknown Source)
      <br> at java.awt.Component.dispatchEvent(Unknown Source)
      <br> at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
      <br> at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
      <br> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
      <br> at java.awt.Container.<unknown>(Unknown Source)
      <br> at java.awt.Window.dispatchEventImpl(Unknown Source)
      <br> at java.awt.Component.<unknown>(Unknown Source)
      <br> at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      <br> at java.awt.EventQueue.<unknown>(Unknown Source)
      <br> at java.awt.EventQueue$3.run(Unknown Source)
      <br> at java.awt.EventQueue$3.run(Unknown Source)
      <br> at java.security.AccessController.<unknown>(Unknown Source)
      <br> at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      <br> at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      <br> at java.awt.EventQueue$4.run(Unknown Source)
      <br> at java.awt.EventQueue$4.run(Unknown Source)
      <br> at java.security.AccessController.<unknown>(Unknown Source)
      <br> at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      <br> at java.awt.EventQueue.dispatchEvent(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      <br> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      <br> at java.awt.EventDispatchThread.run(Unknown Source)
      <br>

      ---------- BEGIN SOURCE ----------
      jMenuItemStat.addActionListener(e -> {
       JDialog dial = new JDialog();
       dial.setVisible(true);
      }
      );
      ---------- END SOURCE ----------

      FREQUENCY : occasionally


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

              Created:
              Updated:
              Resolved: