RFR: 8210807: Printing a JTable with a JScrollPane prints table without rows populated

Prasanta Sadhukhan psadhukhan at openjdk.org
Wed Nov 8 08:18:59 UTC 2023


On Wed, 8 Nov 2023 07:32:52 GMT, Tejesh R <tr at openjdk.org> wrote:

> `BackingStore` uses its own Graphics to Paint the Image. This is fine when we want to paint it on a Window/Frame, but fails to print. Since `WPathGraphics` is used for Printing, backing store fails to print it and backing store uses newly created `SunGraphics2D` always. The proposed fix is to ignore `backingstore` graphics if passed on Graphics is different from `SunGraphics2D` which ensures the Image is painted on Window and also printed when required. 
> The fix is tested in CI and doesn't cause any regression. The test is verified manually.

src/java.desktop/share/classes/javax/swing/JViewport.java line 618:

> 616:         Graphics bsg = getBackingStoreGraphics(g);
> 617:         try {
> 618:             if (g instanceof SunGraphics2D) {

Can we move the check in `getBackingStoreGraphics` which does not use the passed parameter currently
instead of these 2 places?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16552#discussion_r1386172643


More information about the client-libs-dev mailing list