<Swing Dev> When running with the Nimbus look and feel, the JFileChooser does not display mnemonics for its controls.
Pavel Porvatov
pavel.porvatov at oracle.com
Mon Aug 1 21:04:00 UTC 2011
Hi Charles,
> On 07/29/2011 05:44 PM, Pavel Porvatov wrote:
>> Hi Charles,
>>> On 07/29/2011 04:34 PM, Pavel Porvatov wrote:
>>>> Hi Charles,
>>>>> On 07/27/2011 06:44 PM, Pavel Porvatov wrote:
>>>>>> Hi Charles,
>>>>>>
>>>>>> I attached your patch to the CR. Not sure I'll have time to test
>>>>>> and commit the fix.
>>>>>>
>>>>>> Regards, Pavel
>>>>>>
>>>>>>> On 03/30/2011 07:43 PM, Pavel Porvatov wrote:
>>>>>>>> Hi Charles,
>>>>>>>>> Hi guys,
>>>>>>>>>
>>>>>>>>> When running with Nimbus LaF, JFileChooser does not display
>>>>>>>>> mnemonics for its controls, see FileNameAndTypeNomnemonics.png
>>>>>>>>> (attached)
>>>>>>>>> After patch (attached)
>>>>>>>>> You will find FileNameAndTypeWithMnemonics.png (attached)
>>>>>>>>>
>>>>>>>> I filed CR 7032436 (When running with the Nimbus look and feel,
>>>>>>>> the JFileChooser does not display mnemonics) for the described
>>>>>>>> problem
>>>>>>>>
>>>>>>>> Thanks, Pavel
>>>>>>> Hi guys,
>>>>>>>
>>>>>>> I have tested this issue on the openjdk 8 and it still there.
>>>>>>> Attached is a patch which rebased on the openjdk8.
>>>>>>>
>>>>>>> Would anyone like to put this patch into the openjdk8 and fix
>>>>>>> this issue?
>>>>>>>
>>>>>>
>>>>> Thanks Pavel.
>>>>>
>>>>> Does anyone else have time to take a look at this issue? I will
>>>>> treat him one beer :-)
>>>>>
>>>> Oops, then I'll take participation in this =)
>>>>
>>>> Seriously, there are several comments to your fix:
>>>>
>>>> 1. You changed windows.properties and metal.properties, but you
>>>> shouldn't do this (e.g. because of CR description "When running
>>>> with the Nimbus look and feel, the JFileChooser does not display
>>>> mnemonics"). If you take a look at current JFileChooser you will
>>>> see that mnemonics are exist... That's because of CR 7024118
>>>> (possible hardcoded mnemonic for JFileChooser metal and motif l&f)
>>>> and it will be great if you fix this also after CR 7032436. Your
>>>> current implementation for Win/Metal LAFs is uncompleted actually...
>>>>
>>>> 2. You should COPY new mnemonics into all synth properties like
>>>> synth_de.properties etc... Our i18n team will update them later.
>>>>
>>>> 3. To be consistent with other LAFs could you use something like
>>>> "lookInLabelMnemonic =
>>>> UIManager.getInt("FileChooser.lookInLabelMnemonic");" (like in
>>>> Metal/Windows)? That means also that you should use VK_XXX codes
>>>> instead of chars in properties files
>>>>
>>>> 4. Could you please use something like "hg diff -g" for patch
>>>> creating (see http://openjdk.org/contribute/ for details). I have
>>>> some problems with your patch format.
>>>>
>>>> Thanks, Pavel
>>> Hi Pavel,
>>>
>>> Would you please tell me which repository you see the mnemonics are
>>> exist? openjdk7, openjdk8? openjdk8_tl? openjdk8_2d? openjdk8_*?
>> All described above. Mnemonics are hardcoded, see
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7024118 for
>> details. Just run JFileChooserDemo or SwingSet2 demo and you will see
>> that mnemonics are exist.
>>> The patch issue maybe related to the different repo you and me are
>>> using. I am using git to clone the openjdk8 repo and patch apply
>>> well with patch command.
>> Ok, I found the command that works with your patch format...
>>>
>>> I will try to refine the patch according to your comments.
>>>
>>> Thanks for quick response :-)
>>>
>> You are welcome
>>
>> Regards, Pavel
> Hi Pavel,
>
> Has sunbug 7024118 already been committed in the repository? I can not
> find "7024118" related commit log and the latest build from the repo
> forest http://hg.openjdk.java.net/jdk8/jdk8 still shows the problem.
> I will try to refine the patch if I can access sunbug 7024118 and
> 7032436 to check whether the patch is necessary.
>
Oops, when I sent the bug URL it was available.... Anyway below are
details about 7024118:
Synopsis: possible hardcoded mnemonic for JFileChooser metal and motif l&f
Description:
As seen in following, 3 mnemonic keys seems to be hardcoded and making
them unable to localize. Please consider externalizing them to
src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal.properties
for example.
src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java
"FileChooser.lookInLabelMnemonic", new Integer(KeyEvent.VK_I),
"FileChooser.fileNameLabelMnemonic", new
Integer(KeyEvent.VK_N),
"FileChooser.filesOfTypeLabelMnemonic", new
Integer(KeyEvent.VK_T),
*** (#1 of 2): 2011-03-03 13:22:48 MSK shinya.ogino at oracle.com
Similar hardcode also found in motif L&F.
src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java
"FileChooser.pathLabelMnemonic", new
Integer(KeyEvent.VK_P), // 'p'
"FileChooser.filterLabelMnemonic", new Integer
(KeyEvent.VK_R), // 'r'
"FileChooser.foldersLabelMnemonic", new Integer
(KeyEvent.VK_L), // 'l'
"FileChooser.filesLabelMnemonic", new Integer
(KeyEvent.VK_I), // 'i'
"FileChooser.enterFileNameLabelMnemonic", new Integer
(KeyEvent.VK_N), // 'n'
Since following keys in
src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_xx.properties
being translated, in some languages mnemonic character is not in label
string and won't show up in gui.
FileChooser.pathLabelText=Enter path or folder name:
FileChooser.filterLabelText=Filter
FileChooser.foldersLabelText=Folders
FileChooser.filesLabelText=Files
FileChooser.enterFileNameLabelText=Enter file name:
FileChooser.enterFolderNameLabelText=Enter folder name:
*** (#2 of 2): 2011-03-04 09:24:58 MSK shinya.ogino at oracle.com
CR 7024118 is not fixed and therefore you cannot find fix in openjdk8. I
don't see now any reasons to fix CR 7024118 and CR 7032436 in one patch.
Regards, Pavel
More information about the swing-dev
mailing list