<Swing Dev> Fwd: The file list in JFileChooser does not have an accessible name.

Charles Lee littlee at linux.vnet.ibm.com
Fri Sep 2 02:39:37 UTC 2011


On 09/01/2011 08:37 PM, Pavel Porvatov wrote:
> Hi Charles,
>> On 08/25/2011 05:45 PM, Pavel Porvatov wrote:
>>> Hi Charles,
>>>> On 07/26/2011 08:58 PM, Charles Lee wrote:
>>>>> On 07/06/2011 11:26 PM, Pavel Porvatov wrote:
>>>>>> Hi Charles,
>>>>>>> On 04/13/2011 06:41 PM, Pavel Porvatov wrote:
>>>>>>>> Hi Charles,
>>>>>>>>> On 03/30/2011 06:19 PM, Pavel Porvatov wrote:
>>>>>>>>>> Hi Charles,
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -------- Original Message --------
>>>>>>>>>>> Subject: 	The file list in JFileChooser does not have an 
>>>>>>>>>>> accessible name.
>>>>>>>>>>> Date: 	Thu, 24 Mar 2011 17:23:25 +0800
>>>>>>>>>>> From: 	Charles Lee <littlee at linux.vnet.ibm.com> 
>>>>>>>>>>> <mailto:littlee at linux.vnet.ibm.com>
>>>>>>>>>>> To: 	swing-dev at openjdk.java.net 
>>>>>>>>>>> <mailto:swing-dev at openjdk.java.net>, 
>>>>>>>>>>> littlee at linux.vnet.ibm.com <mailto:littlee at linux.vnet.ibm.com>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi guys,
>>>>>>>>>>>
>>>>>>>>>>> Start the SwingSet2.jar along with a accessibility tools (Scout), click
>>>>>>>>>>> the JFileChooser and Show Plain JFileChooser, we will see an open
>>>>>>>>>>> windows with file list inside. The file list does not have Name and
>>>>>>>>>>> Description [1]. With a patch [2] attached, the name and description
>>>>>>>>>>> will show as File List [3].
>>>>>>>>>>>
>>>>>>>>>>> [1] NoDescriptionName.png (attached)
>>>>>>>>>>> [2] patch (attached)
>>>>>>>>>>> [3] WithDescriptionName.png (attached)
>>>>>>>>>>>
>>>>>>>>>> I filed bug 7032018 (The file list in JFileChooser does not 
>>>>>>>>>> have an accessible name). It's not accessible on bugs.sun.com 
>>>>>>>>>> now, I believe because of "Some bugs don't show up in the 
>>>>>>>>>> database for some time because of delays in processing."
>>>>>>>>>>
>>>>>>>>>> Thanks, Pavel
>>>>>>>>>>
>>>>>>>>> Hi Pavel,
>>>>>>>>>
>>>>>>>>> Does the change make into the code? Can I have the changeset 
>>>>>>>>> of it?
>>>>>>>> Nobody is working on this CR now, it just ACCEPTED... You can 
>>>>>>>> trace status of the bug here:
>>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7032018
>>>>>>>>
>>>>>>>> Regards, Pavel
>>>>>>> Hello Pavel, it's me, again :-)
>>>>>>>
>>>>>>> Is there any progress on this CR? Is ok if I move this issue to 
>>>>>>> openjdk8?
>>>>>> No progress. The issue is targeted to jdk8 already...
>>>>>>
>>>>>> Regards, Pavel
>>>>> Hi guys,
>>>>>
>>>>> I have tested this issue on the openjdk8. It still there (Please 
>>>>> check the first mail this thread: NoDescriptionName.png)
>>>>> And with the patch (attached, rebase on the jdk8),
>>>>> The problem gone away.
>>>>>
>>>>> Would anyone interested in this issue this time?
>>>>>
>>>>> -- 
>>>>> Yours Charles
>>>> Hi guys,
>>>>
>>>> Could some one take some to look at this patch?
>>> I took a look at the patch and have several comments:
>>>
>>> 1. There is no AccessibleDescription for all resources, therefore 
>>> I'd prefer to remove filesAccessibleDescription
>>>
>>> 2.  Please follow our code conventions 
>>> http://www.oracle.com/technetwork/java/codeconvtoc-136057.html
>>> a.
>>> private String filesListAccessibleName=null;
>>> =>
>>> private String filesListAccessibleName = null;
>>> b. Don't use TABs characters at all
>>> c.
>>> filesListAccessibleName 
>>> =UIManager.getString("FileChooser.filesListAccessibleName",l);
>>> =>
>>> filesListAccessibleName = 
>>> UIManager.getString("FileChooser.filesListAccessibleName", l);
>>>
>>> etc.
>>>
>>> 3. As in the last CR fixing you should add the same resources to all 
>>> basic_XX.properties files
>>>
>>> 4. Why don't you use 
>>> putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, 
>>> accessibleName) instead of "javax.accessibility.AccessibleContext 
>>> ac=list.getAccessibleContext();......"
>>>
>>> Regards, Pavel
>> putClientProperty still does not work on my side. I can not find 
>> methods which receive the accessible property changes. Is the diff 
>> attached you supposed to be?
> Take a look at 
> javax.swing.JComponent.AccessibleJComponent#getAccessibleName
>
> ...
>             if (name == null) {
>                 name = 
> (String)getClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY);
>             }
> ...
>
>
> Below is FilePane patch that works on my PC:
>
> # hg diff src/share/classes/sun/swing/FilePane.java
> diff --git a/src/share/classes/sun/swing/FilePane.java 
> b/src/share/classes/sun/swing/FilePane.java
> --- a/src/share/classes/sun/swing/FilePane.java
> +++ b/src/share/classes/sun/swing/FilePane.java
> @@ -35,6 +35,7 @@
>  import java.util.List;
>  import java.util.concurrent.Callable;
>
> +import javax.accessibility.AccessibleContext;
>  import javax.swing.*;
>  import javax.swing.border.*;
>  import javax.swing.event.*;
> @@ -82,6 +83,8 @@
>      private JPanel currentViewPanel;
>      private String[] viewTypeActionNames;
>
> +    private String filesListAccessibleName = null;
> +
>      private JPopupMenu contextMenu;
>      private JMenu viewMenu;
>
> @@ -450,6 +453,8 @@
>          gigaByteString = 
> UIManager.getString("FileChooser.fileSizeGigaBytes", l);
>          fullRowSelection = 
> UIManager.getBoolean("FileView.fullRowSelection");
>
> +        filesListAccessibleName = 
> UIManager.getString("FileChooser.filesListAccessibleName",l);
> +
>          renameErrorTitleText = 
> UIManager.getString("FileChooser.renameErrorTitleText", l);
>          renameErrorText = 
> UIManager.getString("FileChooser.renameErrorText", l);
>          renameErrorFileExistsText = 
> UIManager.getString("FileChooser.renameErrorFileExistsText", l);
> @@ -634,6 +639,9 @@
>          if (listViewBorder != null) {
>              scrollpane.setBorder(listViewBorder);
>          }
> +
> +        
> list.putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, 
> filesListAccessibleName);
> +
>          p.add(scrollpane, BorderLayout.CENTER);
>          return p;
>      }
>
> I used attached test for checking...
>
> Regards, Pavel
Great, it works, though I do not know why it does not work before....

So, Pavel my question is still there:

I do not get "There is no AccessibleDescription for all resources". Do 
you mean it is not in all the resource file (*.properties) or do you 
mean not all accessible class has accessible description?


-- 
Yours Charles

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


More information about the swing-dev mailing list