<Swing Dev> [12] RFR JDK-8211987: Menu bar gets input focus even if Alt-released event is consumed
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Thu Oct 11 06:31:16 UTC 2018
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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20181011/7944aaa3/attachment-0001.html>
More information about the swing-dev
mailing list