Integrated: 4850101: Setting mnemonic to VK_F4 underlines the letter S in a button.

Prasanta Sadhukhan psadhukhan at openjdk.org
Wed Sep 7 12:38:51 UTC 2022


On Tue, 2 Aug 2022 10:22:48 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> It is seen that using VK_F4 in JButton's setMnemonic(int i), causes the letter 'S' in the JButton to be underlined if JButton's text has 'S' in its string.
> This is because [**VK_F4**](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/java/awt/event/KeyEvent.java#L506) keycode is 0x73 (115 in decimal) which happens to be value of lowercase [**'s'** ](https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html) so as per the logic implemented in SwingUtilities.findDisplayedMnemonicIndex(), the first index of the character (either lowecasr or uppercase) is returned as a mnemonic, which gets underlined.
> 
> Fix is made to ignore Action Keys from VK_F1->VK_F11 as displayed mnemonic which corresponds to lowercase p->z

This pull request has now been integrated.

Changeset: d6961045
Author:    Prasanta Sadhukhan <psadhukhan at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/d6961045353897967bb734740225bd1cddf158e5
Stats:     129 lines in 2 files changed: 129 ins; 0 del; 0 mod

4850101: Setting mnemonic to VK_F4 underlines the letter S in a button.

Reviewed-by: prr

-------------

PR: https://git.openjdk.org/jdk/pull/9712



More information about the client-libs-dev mailing list