RFR: 8311031: JTable header border vertical lines are not aligned with data grid lines [v3]
Abhishek Kumar
abhiscxk at openjdk.org
Thu Jul 6 06:47:59 UTC 2023
On Wed, 5 Jul 2023 08:25:20 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:
>
> Automated test added
test/jdk/javax/swing/JTableHeader/TableHeaderBorderPositionTest.java line 112:
> 110: expectedRGB = imgDate.getRGB(verticalLineCol,0);
> 111:
> 112: for(int i = 0; i < imgHeader.getHeight();i++) {
Suggestion:
for(int i = 0; i < imgHeader.getHeight(); i++) {
test/jdk/javax/swing/JTableHeader/TableHeaderBorderPositionTest.java line 114:
> 112: for(int i = 0; i < imgHeader.getHeight();i++) {
> 113: for(int j = verticalLineCol; j < verticalLineCol + 3; j++) {
> 114: if(expectedRGB != imgHeader.getRGB(j,i)) {
Suggestion:
if (expectedRGB != imgHeader.getRGB(j, i)) {
test/jdk/javax/swing/JTableHeader/TableHeaderBorderPositionTest.java line 120:
> 118: }
> 119:
> 120: for(int i = 0; i < table.getRowCount() * table.getRowHeight() * SCALE;i++) {
Suggestion:
for(int i = 0; i < table.getRowCount() * table.getRowHeight() * SCALE; i++) {
test/jdk/javax/swing/JTableHeader/TableHeaderBorderPositionTest.java line 122:
> 120: for(int i = 0; i < table.getRowCount() * table.getRowHeight() * SCALE;i++) {
> 121: for(int j = verticalLineCol; j < verticalLineCol + 3; j++) {
> 122: if(expectedRGB != imgDate.getRGB(j,i)) {
Suggestion:
if (expectedRGB != imgDate.getRGB(j, i)) {
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1254002735
PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1254004304
PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1254005124
PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1254005266
More information about the client-libs-dev
mailing list