<Swing Dev> [9] Review request for 8032874: ArrayIndexOutOfBoundsException in JTable while clearing data in JTable

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Mon Apr 14 10:12:16 UTC 2014


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?

      I seems that the getAdjustedIndex(index, row) method checks both 
these cases.

      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