On Fri, 31 Jul 2026 03:49:28 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 two 
> additional commits since the last revision:
> 
>  - Vertical progressbar print
>  - Vertical progressbar print

src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java
 line 191:

> 189:                                     barRectHeight / 2 + 1);
> 190:                         } else {
> 191:                             g.drawRect(0, 0, barRectWidth, 
> barRectHeight);,

This is presumably to fix some RTL rendering but this changes the positioning 
for LTR too. And surely it then differs in positioning from what was drawn 
on-screen when G2D is used ??

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

PR Review Comment: https://git.openjdk.org/jdk/pull/31749#discussion_r3738924746

Reply via email to