<Swing Dev> [9] Review request for 8032874: ArrayIndexOutOfBoundsException in JTable while clearing data in JTable
dmitry markov
dmitry.markov at oracle.com
Mon Apr 14 12:33:55 UTC 2014
Alexandr,
Please find my answer below.
Thanks,
Dmitry
On 14/04/2014 14:12, Alexander Scherbatiy wrote:
> On 4/14/2014 10:59 AM, dmitry markov wrote:
>> Hi Alexandr,
>>
>> Thank you for the review. According to the specification in
>> ListSelectionModel: getAnchorSelectionIndex() and
>> getLeadSelectionIndex() return the first index and the second index
>> arguments from the most recent call to setSelectionInterval(),
>> addSelectionInterval() or removeSelectionInterval(). So if -1 is not
>> set explicitly via the methods described above, it is correct to
>> return value which is not -1 even for empty selection. I guess, such
>> behavior is intended for storing the information about the previous
>> selection.
> Is it possible that the lead selection index can be greater than
> the table row numbers?
Yes, it is possible. The lead selection index may be greater or equal to
the row count, (e.g. for case described in the bug the lead index is 0
for the empty selection).
>
> I seems that the getAdjustedIndex(index, row) method checks both
> these cases.
That is right. The fix does the same thing as getAdjustedIndex() method.
Unfortunately we can not use the method in the fix, since if I get it
right getAdjustedIndex() is designed for work with selectionModel, but
here we work with modelSelection.
>
> Thanks,
> Alexandr.
>>
>>
>> Thanks,
>> Dmitry
>> On 11/04/2014 17:07, Alexander Scherbatiy wrote:
>>> On 4/11/2014 4:36 PM, dmitry markov wrote:
>>>> Hello,
>>>>
>>>> Could you review the fix for jdk9, please?
>>>>
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8032874
>>>> webrev:
>>>> http://cr.openjdk.java.net/~dmarkov/8032874/jdk9/webrev.00/
>>>>
>>>> Problem description: If JTable has Sorter and Filter and selected
>>>> row is removed ArrayIndexOutOfBoundsException will be thrown.
>>>> Fix: The method restoreSelection() in SortManager class should
>>>> invoke convertRowIndexToView() only when modelSelection is NOT empty.
>>>
>>> Is it the right behavior that
>>> modelSelection.getLeadSelectionIndex() does not return -1 when
>>> modelSelection.isSelectionEmpty() is true?
>>>
>>> Thanks,
>>> Alexandr.
>>>>
>>>> Thanks,
>>>> Dmitry
>>>
>>
>
More information about the swing-dev
mailing list