On Thu, 22 Oct 2026 13:01:36 GMT, Prasanta Sadhukhan <[email protected]> wrote:
>> [JDK-6328248](https://bugs.openjdk.org/browse/JDK-6328248) fixed PrintJob >> (1.1 Graphics API) based JProgressBar printing for most L&F however it seems >> to cause ClassCastException in AquaProgressBarUI.paint as non-Graphics2D >> path was not handled >> `Caused by: java.lang.ClassCastException: class sun.print.ProxyPrintGraphics >> cannot be cast to class java.awt.Graphics2D (sun.print.ProxyPrintGraphics >> and java.awt.Graphics2D are in module java.desktop of loader 'bootstrap') ` >> >> FIx is made to render Aqua progress bar into BufferedImage, then drawImage >> for non-Graphics2D case where 1.1 PrintJob is used >> >> >> >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Prasanta Sadhukhan has updated the pull request incrementally with one > additional commit since the last revision: > > FIx vertical string text to be non-blocky src/java.desktop/macosx/classes/com/apple/laf/AquaProgressBarUI.java line 224: > 222: final boolean paintText = progressBar.isStringPainted() > 223: && > !progressBar.isIndeterminate(); > 224: final Graphics2D printerGraphics = > SwingUtilities2.getGraphics2D(g); I guess this is OK .. meaning in practice this fn digs out a G2D, so we can print non-blockily and if it ever fails, the worst is the blocky text. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31749#discussion_r4416798084
