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