RFR: 8259550: The content of the print out displayed incomplete with the NimbusLAF [v2]
Prasanta Sadhukhan
psadhukhan at openjdk.org
Tue Jan 30 05:53:44 UTC 2024
On Tue, 30 Jan 2024 04:54:05 GMT, Tejesh R <tr at 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.
>
> Tejesh R has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>
> - Test copywrite year and bug id updated
> - Merge branch 'master' of https://git.openjdk.java.net/jdk into branch_8259550
> - Fix
I guess it will be better to add additional testing to this test in view of this fix so that it doesn't go under the radar in future incase something change in Nimbus or in printing code..
* @run main/manual PrintManualTest_FitWidthMultiple
+ * @run main/othervm/manual -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel PrintManualTest_FitWidthMultipl
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17053#issuecomment-1916125597
More information about the client-libs-dev
mailing list