<Swing Dev> [10] RFR JDK-8183529: FilleChooser in "Detail view" does not change the Language of the column headings

Semyon Sadetsky semyon.sadetsky at oracle.com
Fri Jul 7 20:52:00 UTC 2017


Why you declared fields instead of constants? Are they supposed to be 
changed?

Also, most of them are already declared in the superclass:

     private static final String COLUMN_NAME = 
"FileChooser.fileNameHeaderText";
     private static final String COLUMN_SIZE = 
"FileChooser.fileSizeHeaderText";
     private static final String COLUMN_DATE = 
"FileChooser.fileDateHeaderText";

--Semyon


On 07/07/2017 09:26 AM, Prasanta Sadhukhan wrote:
>
> Modified webrev to not create new string objects every time 
> doGetColumnInfo() is called, rather it "gets" the  string objects.
>
> http://cr.openjdk.java.net/~psadhukhan/8183529/webrev.04/
>
> Regards
> Prasanta
> On 7/7/2017 8:51 PM, Semyon Sadetsky wrote:
>>
>> I may be wrong, but the cause may be that you did not keep references 
>> to those objects and they were garbage collected.
>>
>> --Semyon
>>
>>
>> On 07/07/2017 08:13 AM, Prasanta Sadhukhan wrote:
>>>
>>> I tried that putting the initialization in initIDs() which will be 
>>> called once only but am getting jni crash citing " Pointing to 
>>> zapped jni handle area". Only in doGetColumnInfo(), it's working.
>>>
>>> Regards
>>> Prasanta
>>> On 7/7/2017 8:38 PM, Semyon Sadetsky wrote:
>>>>
>>>> That's better. But still each time when getFolderColumns() is 
>>>> called the title keys are initialized.
>>>>
>>>> That will be more optimal to initialize them once only and reuse 
>>>> them in consequent calls, won't it?
>>>>
>>>> --Semyon
>>>>
>>>> On 07/06/2017 11:26 PM, Prasanta Sadhukhan wrote:
>>>>>
>>>>> Modified webrev after removal of intermediate variable temp and 
>>>>> reusing strings
>>>>>
>>>>> http://cr.openjdk.java.net/~psadhukhan/8183529/webrev.03/
>>>>>
>>>>> Regards
>>>>> Prasanta
>>>>> On 7/6/2017 9:52 PM, Semyon Sadetsky wrote:
>>>>>>
>>>>>> Why do you need intermediate variable temp to convert C string to 
>>>>>> java string?
>>>>>>
>>>>>> Also could the strings be created only once and reused?
>>>>>>
>>>>>> --Semyon
>>>>>>
>>>>>> On 07/06/2017 09:12 AM, Prasanta Sadhukhan wrote:
>>>>>>>
>>>>>>> Hi Semyon,
>>>>>>>
>>>>>>> I missed that. I see now, the page mentions that "The first four 
>>>>>>> fields are standard for all file system folders"
>>>>>>> Column index
>>>>>>>
>>>>>>> 	Column title
>>>>>>> 0 	Name
>>>>>>> 1 	Size
>>>>>>> 2 	Type
>>>>>>> 3 	Date Modified
>>>>>>>
>>>>>>>
>>>>>>> so I modified webrev to rely on column index rather than string.
>>>>>>> http://cr.openjdk.java.net/~psadhukhan/8183529/webrev.02/
>>>>>>>
>>>>>>> Regards
>>>>>>> Prasanta
>>>>>>> On 7/6/2017 9:01 PM, Semyon Sadetsky wrote:
>>>>>>>>
>>>>>>>> Hi Prasanta,
>>>>>>>>
>>>>>>>> See what MSDN says [1] about the column titles obtained by 
>>>>>>>> IShellFolder2::GetDetailsOf:
>>>>>>>>
>>>>>>>> ... Bear in mind that these titles can be localized and might 
>>>>>>>> not be the same for all locales.
>>>>>>>>
>>>>>>>> --Semyon
>>>>>>>>
>>>>>>>> [1] 
>>>>>>>> https://msdn.microsoft.com/en-us/library/windows/desktop/bb775053(v=vs.85).aspx
>>>>>>>>
>>>>>>>>
>>>>>>>> On 07/06/2017 01:13 AM, Prasanta Sadhukhan wrote:
>>>>>>>>> Thanks Semyon for spotting this. Since this bug is for 
>>>>>>>>> windows, I concentrated on windows only.
>>>>>>>>>
>>>>>>>>> But it seems, for non-windows platform, ShellFolder uses
>>>>>>>>> COLUMN_NAME = "FileChooser.fileNameHeaderText";
>>>>>>>>> COLUMN_SIZE = "FileChooser.fileSizeHeaderText";
>>>>>>>>> COLUMN_DATE = "FileChooser.fileDateHeaderText";
>>>>>>>>> string which is locale-sensitive.
>>>>>>>>>
>>>>>>>>> Only for windows, it uses Win32ShellFolder which calls 
>>>>>>>>> IShellDetails::GetDetailsOf() to get columns details.
>>>>>>>>> Modified webrev applicable for only windows to convert this 
>>>>>>>>> windows specific names to locale-sensitive names.
>>>>>>>>>
>>>>>>>>> http://cr.openjdk.java.net/~psadhukhan/8183529/webrev.01/
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>> Prasanta
>>>>>>>>> On 7/5/2017 8:40 PM, Semyon Sadetsky wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Prasanta,
>>>>>>>>>>
>>>>>>>>>> Haven't you tested how the details header localization works 
>>>>>>>>>> after your fix with other L&Fs and platforms?
>>>>>>>>>>
>>>>>>>>>> --Semyon
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 07/04/2017 11:42 PM, Prasanta Sadhukhan wrote:
>>>>>>>>>>> Hi All,
>>>>>>>>>>>
>>>>>>>>>>> Please review a fix for a locale issue where it is seem 
>>>>>>>>>>> FileChooser dialog is not showing the column heading
>>>>>>>>>>> in selected locale in "Detail view mode".
>>>>>>>>>>> This was because, even though the locale strings are present 
>>>>>>>>>>> in properties resource file,
>>>>>>>>>>> /share/classes/com/sun/java/swing/plaf/windows/resources/windows.properties//
>>>>>>>>>>> //FileChooser.fileNameHeader.textAndMnemonic=Name//
>>>>>>>>>>> //FileChooser.fileSizeHeader.textAndMnemonic=Size//
>>>>>>>>>>> /the check done is wrong.
>>>>>>>>>>>
>>>>>>>>>>> Proposed fix is to check and get locale string resources 
>>>>>>>>>>> correctly.
>>>>>>>>>>>
>>>>>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8183529
>>>>>>>>>>> webrev: 
>>>>>>>>>>> http://cr.openjdk.java.net/~psadhukhan/8183529/webrev.00/
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>> Prasanta
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20170707/e2e89030/attachment.html>


More information about the swing-dev mailing list