src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java

Print this page

        

*** 28,37 **** --- 28,39 ---- import java.awt.Component; import java.awt.Container; import java.awt.Event; import java.awt.KeyEventPostProcessor; import java.awt.Window; + import java.awt.Toolkit; + import sun.awt.SunToolkit; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import javax.swing.AbstractAction;
*** 123,133 **** if(mbar == null && winAncestor instanceof JFrame) { mbar = ((JFrame)winAncestor).getJMenuBar(); } JMenu menu = mbar != null ? mbar.getMenu(0) : null; ! if (menu != null) { MenuElement[] path = new MenuElement[2]; path[0] = mbar; path[1] = menu; msm.setSelectedPath(path); } else if(!WindowsLookAndFeel.isMnemonicHidden()) { --- 125,143 ---- if(mbar == null && winAncestor instanceof JFrame) { mbar = ((JFrame)winAncestor).getJMenuBar(); } JMenu menu = mbar != null ? mbar.getMenu(0) : null; ! // Skip menu activation if the KeyEvent originated before ! // the latest window deactivation. ! boolean skip = false; ! Toolkit tk = Toolkit.getDefaultToolkit(); ! if (tk instanceof SunToolkit) { ! skip = ev.getWhen() <= ((SunToolkit)tk).getDeactivationTime(winAncestor); ! } ! ! if (menu != null && !skip) { MenuElement[] path = new MenuElement[2]; path[0] = mbar; path[1] = menu; msm.setSelectedPath(path); } else if(!WindowsLookAndFeel.isMnemonicHidden()) {