RFR: 8311031: JTable header border vertical lines are not aligned with data grid lines [v13]
Alexey Ivanov
aivanov at openjdk.org
Wed Aug 2 11:53:58 UTC 2023
On Wed, 2 Aug 2023 08:55:19 GMT, Tejesh R <tr 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.
>>
>> 
>
> Tejesh R has updated the pull request incrementally with one additional commit since the last revision:
>
> Review fix
test/jdk/javax/swing/JTableHeader/TableHeaderBorderPositionTest.java line 54:
> 52: if (!testStatus) {
> 53: throw new RuntimeException(failureMsg);
> 54: }
Suggestion:
if (failureMsg != null) {
throw new RuntimeException(failureMsg);
}
`testStatus` is redudant.
`failureMsg` is to be declared `volatile` because it's used on different threads; however, `invokeAndWait` internally synchronises, so I think it's fine but I'm still unsure about it and I couldn't find any confirmation or disproof thereof.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1281794795
More information about the client-libs-dev
mailing list