FULL PRODUCT VERSION :
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
EXTRA RELEVANT SYSTEM CONFIGURATION :
It takes a Danish keyboard to veryfy this.
A DESCRIPTION OF THE PROBLEM :
When creating mnemonics for menu items, buttons, etc. it is common to use the KeyEvent.VK_XYZ constants, to make sure that the key works with every keyboard on the planet. However, Java makes it impossible to internationalize your application to the Danish locale because the Danish language has 3 additional letters apart from the regular letters a-z, and thus you will also find 3 additional keys on a Danish keyboard.
In unicode and HTML the additional Danish letters are referred to as oelig, oslash aring.
The missing letters are crucial to mnemonics in the Danish language, becaue many common Danish words use these letters. The problem becomes quite obvious in the following example: In English a menu item called "Open file" almost always has the mnemonic "O", and in Danish the item translates to "Abn fil", where the first "A" is actually the special character aring - however, Java does not allow a mnemonic to be this special character because there is no KeyEvent.VK_ARING.
Consequently the millions of users in Denmark are left with mnemonics which are hard to remember, like "b" for "Abn fil". This is as bad as if Americans where unable to open a file with Alt+O because Java did not have a KeyEvent.VK_O.
Applications written in C++ on Windows are indeed able to support Danish letters for mnemonics, so the question is why should Java applications be harder to use?
PS: This bug is related to 4239028 and its related bugs.
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Use less user friendly mnemonics like "Alt+B" for "Abn fil" (= "Open file").