<Swing Dev> [9] RFR JDK-8159068:The rendering of JTable is broken

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Tue Jun 21 10:58:37 UTC 2016



On 6/21/2016 4:14 PM, Alexandr Scherbatiy wrote:
> On 6/20/2016 8:10 AM, prasanta sadhukhan wrote:
>>
>> Gentle reminder for review!!
>>
>> Regards
>> Prasanta
>> On 6/13/2016 4:31 PM, prasanta sadhukhan wrote:
>>> On 6/13/2016 12:51 PM, prasanta sadhukhan wrote:
>>>> Hi All,
>>>>
>>>> Please review a fix for jdk9 where it was seen that if we try to 
>>>> select some rows in a JTable, the text painted in the rows goes 
>>>> missing.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8159068
>>>>
>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8159068/webrev.00/
>>>>
>>>> The issue was rMax value was decremented wrongly so when 
>>>> paintCells() is called with wrong rMax, some rows were not printed 
>>>> correctly.
>>>>
>>>> Fix is to make sure rmax is decremented properly, only when we are 
>>>> trying to print whole visible portion of JTable and NOT when some 
>>>> rows are being painted.
>
>   Could you give two samples how this algorithm work. One sample where 
> a whole visible portion of a JTable and another where some rows are 
> being printed. What are rMax and  rMin values in both cases and how 
> are they calculated?
>
If a JTable is of 50 rows and only 35 are being visible in page 1, then
if whole visible portion of JTable is printed, rMin will be 0 and rMax 
was 35
so 36 rows were getting printed so I decrement rMax by 1 to 34 so only 
35 will be printed (same as shown on console).
When we select some row of JTable as in the case of LostText testcase, 
rMin will be say 6 and rMax will be 9 in which case also, I was 
decrementing rMax so rMin=6, rMax=8 so next row was not getting painted.

Regards
Prasanta
>   Thanks,
>   Alexandr.
>
>>>>
>>>> Regarding the regression testcase, I could not make it automated as 
>>>> the failure happens on random iteration.
>>>> and also, getting selection background/foreground was giving same 
>>>> values with and without the missing text.
>>>>
>>> Also, since it is a regression of 8081491 
>>> <https://bugs.openjdk.java.net/browse/JDK-8081491>, it's testcase 
>>> are working fine with this fix and so did SwingSet2 JTable demo.
>>>> Regards
>>>> Prasanat
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20160621/ddfea7e9/attachment.html>


More information about the swing-dev mailing list