<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 9 03:15:46 UTC 2011


On 08/08/2011 10:17 PM, Pavel Porvatov wrote:
> Hi Charles,
>> On 08/05/2011 05:00 PM, Pavel Porvatov wrote:
>>> Hi Charles,
>>>> On 08/03/2011 08:49 PM, Pavel Porvatov wrote:
>>>>> Hi Charles,
>>>>>>
>>>>> Yes, that's what I meant...
>>>>>
>>>>>> 2. I do not think we should use VK_XXXX code. CR7024118 
>>>>>> recommends to remove the VK_XXX code right?
>>>>> I don't see such recommendations. Anyway we cannot use chars now 
>>>>> because of backward compatibility requirement.
>>>> CR7024118 says:
>>>>
>>>> "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"
>>>> and
>>>> "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. "
>>>>
>>>> It means the hardcoded VK_XXX codes can not be localized and in 
>>>> some situation the mnemonic character is not shown in the label. So 
>>>> we should use localized character as mnemonic. right?
>>> The last your sentence is incorrect. Hardcoded mnemonics cannot be 
>>> localized via properties files and therefore they works only for for 
>>> English, but not for other supported languages. So we should use 
>>> localized VK_XXX as mnemonics... Because, as I said before, we MUST 
>>> keep backward compatibility.
>>>
>>> Regards, Pavel
>>>
>>>>
>>>>>> 3. If the patch is ok, I would like to fix CR7024118 also.
>>>>>>
>>>>> So, there are two comments about the patch:
>>>>> 1. We must use VK_XXX codes for backward compatibility in 
>>>>> WindowsLAF and MetalLAFs . Therefore NimbusLAF should use VK_XXX 
>>>>> codes as well to be consistent with other LAFs
>>>>>
>>>>> 2. Could you please put mnemonics near labels? E.g.
>>>>> FileChooser.lookInLabelText=Look In:
>>>>> FileChooser.lookInLabelMnemonic=<VK_CODE>
>>>>>
>>>>> It looks much more convenient I believe
>>>>>
>>>>> Regards, Pavel
>>>>
>>>>
>>>
>> Hi Pavel,
>>
>> I do not quite understand why we should keep VK_CODE, so I make two 
>> patches for first review, I will modify other properties if one of 
>> the patches is ok :-)
> No problem. I wrote the example (see attach) that shows the problem. 
> The test works fine without patches, with the patch.review1 an 
> exception is thrown, with the patch.review2 mnemonic is missed. When I 
> told about regressions I meant that we MUST keep 
> FileChooser.lookInLabelMnemonic as an Integer. Therefore we have only 
> one possible way: to use integer values (VK_XXX codes), but not VK_XXX 
> names or characters.
>
>> [1] is the patch which is not use VK_CODE. (attached)
>> [2] is the patch which is use VK_CODE, I have to use reflect in that 
>> patch. Maybe I miss something. (attached)
>>
> Regards, Pavel
Here is another one :-) it uses VK_code hard coded as mental does.  If 
it is ok, I will like to take CR7024118. Is reflection ok to you, Pavel?


-- 
Yours Charles

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.review3
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20110809/6b105fae/patch.review3>


More information about the swing-dev mailing list