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

Tejesh R tr at openjdk.org
Wed Aug 2 16:28:10 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.
>> 
>> ![image](https://github.com/openjdk/jdk/assets/94159358/f6d1d822-55ba-4ad3-9914-d3f68b67a6c5)
>
> Tejesh R has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Review fix

> I'll post [this comment](https://github.com/openjdk/jdk/pull/14464#pullrequestreview-1558834675) here too:
> 
> > I still prefer the previous version where the exception was thrown directly.
> > In fact, you don't create real UI, the test doesn't depend on processing events — the entire test can be run on main thread _safely_. Get rid of `invokeAndWait` altogether?

Yeah, it's better to run on main without `invokeAndWait` which is not required.

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

PR Comment: https://git.openjdk.org/jdk/pull/14766#issuecomment-1662529808



More information about the client-libs-dev mailing list