<Swing Dev> RfR JDK-8145735, Tests api/javax_swing/JTabbedPane/AccessibleJTabbedPane/* are failing

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Thu Jan 14 12:02:26 UTC 2016


   The fix looks good to me.

   Thanks,
   Alexandr.

On 1/14/2016 12:06 AM, Pete Brunet wrote:
> How does this look?
> http://cr.openjdk.java.net/~ptbrunet/JDK-8145735/webrev.01/
>
> Pete
>
> On 1/13/16 7:16 AM, Alexander Scherbatiy wrote:
>> On 1/13/2016 1:12 AM, Pete Brunet wrote:
>>> Hi Alexandr,
>>>
>>> On 1/12/16 1:03 PM, Alexander Scherbatiy wrote:
>>>> It seems that there still is the case when tab titles are empty
>>>> string, tab components are null, components are not null and the
>>>> correct index should be returned for the given page.
>>> In the code of the current webrev (webrev.00) if the tab component is
>>> null then getTitle() is the fallback and it uses
>>> parent.indexOfComponent().  I tested using add("", myPanel) and that
>>> worked OK.
>>>> May be it is better to replace searching the page index by tab
>>>> component to by component?
>>>> We already do this in the getTitle() method.
>>> In any event, are you suggesting just always using
>>> parent.indexOfComponent(), i.e. always using getTitle()?  The regression
>>> test runs OK with that change.  Is there a case where indexOfComponent
>>> would not work but indexOfTabComponent would?
>>    There is a possible case that  a component is null, title is empty
>> but a tabComponent is not null.
>>    May be it is better to have a method like getPageIndex() which
>> search the page index by component if it is not null, then by
>> tabComponent and by title at the last.
>>
>>    Thanks,
>>    Alexandr.
>>
>>> Pete
>>>> Thanks,
>>>> Alexandr.
>>>>
>>>> On 12/01/16 01:47, Pete Brunet wrote:
>>>>> Please review this patch:
>>>>>
>>>>> http://cr.openjdk.java.net/~ptbrunet/JDK-8145735/webrev.00/
>>>>>
>>>>> The issue being resolved is that the JTabbedPane code can't solely
>>>>> rely
>>>>> on tabComponent when fetching the index in the parent component.
>>>>> tabComponent is optionally used and its presence indicates that the
>>>>> associated Component will render the tab title; otherwise the
>>>>> JTabbedPane tab will.  In those cases where tabComponent is used,
>>>>> if it
>>>>> is null then the tab's title must be used when determining the
>>>>> index in
>>>>> parent, i.e. parent.indexofTab(getTitle()) vs
>>>>> parent.indexOfTabComponent(tabComponent).
>>>>>
>>>>> The regression test was improved to catch the cases where the fix to
>>>>> JTabbedPane was not applied.  The regression test was also changed so
>>>>> the exception message is more cleanly displayed when the test fails.




More information about the swing-dev mailing list