On Mon, 11 Dec 2023 11:25:34 GMT, Tejesh R <t...@openjdk.org> wrote:

> The issue is w.r.t to way that Synth prints the table. In Synth, the printing 
> of Table happens column wise by painting blocks of columns which is due to 
> the fact that Graphics used which is `ProxyGrpahics2D` (which get selected in 
> `RasterPrinterJob `class, otherwise it would be `WPathGraphics` for other 
> Look and feel).  Since the printing happens in block wise and the columns 
> where the x position is greater than the `table.bounds` doesn't gets painted 
> because of the intersection check condition `!bounds.intersects(clip)`. Hence 
> only droplines are painted instead of cells and gridlines.  I couldn't find 
> any reason for adding the intersection check here and when removed it didn't 
> cause any regression too, rather it solves the issue and actually made sense 
> too. In other Look and Feel its not required to apply the fix (in 
> `BasicTableUI `class) because its not affecting anything yet since the 
> painting happens for whole table. Hence proposing the fix for only 
> SynthTableUI class.
> ([PrintManualTest_FitWidthMultiple.java](https://github.com/openjdk/jdk/blob/master/test/jdk/javax/swing/JTable/PrintManualTest_FitWidthMultiple.java))
>  test is been used for testing.

I see no difference in Nimbus LAF PrintManualTest_FitWidthMultiple.java with 
this change. Is there anything else that needs changing other than in 
SynthTableUI.java? Or any missing configuration on my end?

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

PR Review: https://git.openjdk.org/jdk/pull/17053#pullrequestreview-1819050923

Reply via email to