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

1.4 REGRESSION: System Menu shortcut in JInternalFrame with Metal L&F causes NPE

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 1.4.1
    • client-libs



      Name: jk109818 Date: 09/13/2002


      FULL PRODUCT VERSION :
      java version "1.4.0_01"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
      Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)

      AND

      java version "1.4.1-rc"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-rc-b19)
      Java HotSpot(TM) Client VM (build 1.4.1-rc-b19, mixed mode)


      FULL OPERATING SYSTEM VERSION :
      Windows NT Version 4.0

      A DESCRIPTION OF THE PROBLEM :
      Entering Shift-ESCAPE or Ctrl-SPACE in a
      JInternalFrame under the Metal L&F causes
      a stack dump. The problem is that titlePane
      is used in BasicInternalFrameUI.java and
      is shadowed in MetalInternalFrameUI.java
      (with BasicInternalFrameUI.titlePane remaining
      null).



      REGRESSION. Last worked in version 1.3.1

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Compile and run code
      2. Click on the internal frame
      3. Hit Shift-ESCAPE or Ctrl-SPACE

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Expect nothing to happen, instead there is a stack dump.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.NullPointerException
      at javax.swing.plaf.basic.BasicInternalFrameUI$1.actionPerformed
      (BasicInternalFrameUI.java:153)
      at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1502)
      at javax.swing.JComponent.processKeyBinding(JComponent.java:2422)
      at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:253)
      at javax.swing.KeyboardManager.fireKeyboardAction
      (KeyboardManager.java:202)
      at javax.swing.JComponent.processKeyBindingsForAllComponents
      (JComponent.java:2499)
      at javax.swing.JComponent.processKeyBindings(JComponent.java:2491)
      at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
      at java.awt.Component.processEvent(Component.java:4830)
      at java.awt.Container.processEvent(Container.java:1380)
      at java.awt.Component.dispatchEventImpl(Component.java:3526)
      at java.awt.Container.dispatchEventImpl(Container.java:1437)
      at java.awt.Component.dispatchEvent(Component.java:3367)
      at java.awt.KeyboardFocusManager.redispatchEvent
      (KeyboardFocusManager.java:1700)
      at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent
      (DefaultKeyboardFocusManager.java:568)
      at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent
      (DefaultKeyboardFocusManager.java:739)
      at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions
      (DefaultKeyboardFocusManager.java:673)
      at java.awt.DefaultKeyboardFocusManager.dispatchEvent
      (DefaultKeyboardFocusManager.java:534)
      at java.awt.Component.dispatchEventImpl(Component.java:3396)
      at java.awt.Container.dispatchEventImpl(Container.java:1437)
      at java.awt.Window.dispatchEventImpl(Window.java:1566)
      at java.awt.Component.dispatchEvent(Component.java:3367)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
      at java.awt.EventDispatchThread.pumpOneEventForHierarchy
      (EventDispatchThread.java:190)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy
      (EventDispatchThread.java:144)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)



      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------

         import javax.swing.*;

          public class DesktopTest extends JFrame {
             public static void main(String[] args) {
               (new DesktopTest()).setVisible(true);
            }
         
             public DesktopTest() {
               setSize(400, 400);
               JDesktopPane dtp = new JDesktopPane();
               getContentPane().add(dtp);
               JInternalFrame jif = new JInternalFrame();
               jif.setSize(200, 200);
               jif.setVisible(true);
               dtp.add(jif);
            }
         }
      ---------- END SOURCE ----------

      Release Regression From : 1.3.1
      The above release value was the last known release where this
      bug was known to work. Since then there has been a regression.

      (Review ID: 164161)
      ======================================================================

            joutwatesunw Joshua Outwater (Inactive)
            jkimsunw Jeffrey Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: