Hi All,

Please review a fix for an issue where it is seen that typing(pressing+releaseing) ALT key in a JTextArea transfer focus to and activates JMenu (rather than focus staying in textarea)
if both JTextArea and JMenu are present in a JFrame,
even if there is a KeyListener on the text component that consumes the KeyEvent generated when releasing the Alt key.

This is a regression of JDK-8173145: <https://bugs.openjdk.java.net/browse/JDK-8173145>Menu is activated after using mnemonic Alt/Key combination
where a check is amended in AltProcessor#postProcessKeyEvent
if(ev.isConsumed()) {
                // do not manage consumed event
                return false;
            }

to :
if(ev.isConsumed() && ev.getKeyCode() != KeyEvent.VK_ALT) {
                // mnemonic combination, it's consumed, but we need
                // set altKeyPressed to false, otherwise after selection
                // component by mnemonic combination a menu will be open
                altKeyPressed = false;
                return false;
            }
to ensure key-binding action is executed when not-alt key pressed.
But the above fix also prevents the postProcessKeyEvent to return even when ALT event is consumed. Proposed fix is to ensure postProcessKeyEvent returns if event is consumed and also ensures the previous check of resetting altKeyPressed occurs for non-alt combination.

With this fix, the regression testcase of JDK-8173145 <https://bugs.openjdk.java.net/browse/JDK-8173145>also works ok.

Bug: https://bugs.openjdk.java.net/browse/JDK-8211987
webrev: http://cr.openjdk.java.net/~psadhukhan/8211987/webrev.0/

Regards
Prasanta
<https://bugs.openjdk.java.net/browse/JDK-8173145>

Reply via email to