RFR: 8311031: JTable header border vertical lines are not aligned with data grid lines

Tejesh R tr at openjdk.org
Tue Jul 4 11:41:53 UTC 2023


On Tue, 4 Jul 2023 11:20:21 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:

>> The header border uses `g.drawLine` whereas the JTable data grid lines uses `SwingUtilities2.drawVLine` and `SwingUtilities2.drawHLine` to draw horizontal and vertical lines. The SwingUtilities2 uses `Graphics.fillRect` which contributes to the difference between the position of these two lines which happens/visible at higher ui scaling (difference in alignment between vertical lines of these two). The fix propose to use the same methods for metal L&F of JTable header border paint. 
>> CI testing shows green.
>> 
>> ![image](https://github.com/openjdk/jdk/assets/94159358/f6d1d822-55ba-4ad3-9914-d3f68b67a6c5)
>
> test/jdk/javax/swing/JTableHeader/TableHeaderBorderPositionTest.java line 1:
> 
>> 1: /*
> 
> Is it possible to make an automated test by comparing pixel colors of images before and after fix?

Tried to check the line alignment, but couldn't do it because of anti aliasing and scaling. And before and after fix means storing the image of before fix and then comparing with after fix?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1251910298



More information about the client-libs-dev mailing list