<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