<Swing Dev> When running with the Nimbus look and feel, the JFileChooser does not display mnemonics for its controls.
Charles Lee
littlee at linux.vnet.ibm.com
Tue Aug 2 07:47:57 UTC 2011
On 08/02/2011 05:04 AM, Pavel Porvatov wrote:
> 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
I see. Thanks Pavel. I have to wait for 7024118 and 7032436 (maybe). :-)
--
Yours Charles
More information about the swing-dev
mailing list