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

Win L&F: JMenu rollover effect in Windows not working properly in win LAF

XMLWordPrintable

    • tiger
    • x86
    • windows_xp

      The JMenu rollover effect is not working properly in windows laf. If the user clicks a menu with mouse and without taking mouse out of the menu presses the right arrow key to go to next menu, the rollover effect does not go away from first menu clicked. This is unlike the native windows behaviour
      This is observed in Win XP, Win2k.
        

      Steps to Reproduce :

      1) Run SwingSet2 Dmeo.
      2) Change the LAF to windows.
      3) Click the 'File' menu.
      4) Do not take mouse out of menu.
      5) Now press right arrow key to go to 'Look & Feel' menu.
      6) Note that the roll over effect(i.e blue color in Xp and raised effect in other windows flavour) does not go away. And the second menu also shows the roll over effect ie (Blue color in Xp and Lowered effect in other windows flavour).

      There is one more observation... (This is observed in Tiger b07 on SwingSet2 Demo)
      If you take your mouse over the menu and DO NOT click the menu, and press the right arrow key it gives the following exception:

      java.lang.NullPointerException
              at javax.swing.plaf.basic.BasicDesktopPaneUI$Actions.actionPerformed(BasicDesktopPane
      UI.java:289)
              at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1540)
              at javax.swing.JComponent.processKeyBinding(JComponent.java:2449)
              at javax.swing.JComponent.processKeyBindings(JComponent.java:2495)
              at javax.swing.JComponent.processKeyEvent(JComponent.java:2412)
              at java.awt.Component.processEvent(Component.java:4911)
              at java.awt.Container.processEvent(Container.java:1569)
              at java.awt.Component.dispatchEventImpl(Component.java:3617)
              at java.awt.Container.dispatchEventImpl(Container.java:1627)
              at java.awt.Component.dispatchEvent(Component.java:3479)
              at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
              at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
              at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
              at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
              at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
              at java.awt.Component.dispatchEventImpl(Component.java:3508)
              at java.awt.Container.dispatchEventImpl(Container.java:1627)
              at java.awt.Window.dispatchEventImpl(Window.java:1606)
              at java.awt.Component.dispatchEvent(Component.java:3479)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
              at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:208)
              at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:157)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:151)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:143)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:104)

      Steps to reproduce:

      1) Same as above, but do not click on menu.

            leifs Leif Samuelsson (Inactive)
            mjoshisunw Mayank Joshi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: