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.

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

Commit messages:
 - Fix

Changes: https://git.openjdk.org/jdk/pull/17053/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17053&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8259550
  Stats: 4 lines in 1 file changed: 0 ins; 3 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/17053.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17053/head:pull/17053

PR: https://git.openjdk.org/jdk/pull/17053

Reply via email to