RFR: 8258979: The image didn't show correctly with GTK LAF [v3]

Prasanta Sadhukhan psadhukhan at openjdk.org
Wed Jan 10 05:59:25 UTC 2024


On Wed, 10 Jan 2024 05:00:33 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:

>> The collapsed icon for JTree is not painted using `Icon.paintIcon(Component c, Graphics g, int x, int y)` in GTK LAF. The collapsed icon is returned from BasicTreeUI class which doesn't contain any icon image whereas the expanded icon is returned from SynthTreeUI class and expanded icon is rendered correctly.
>> The proposed fix is to return collapsed icon as an object of collapsed icon wrapper which implements synthIcon and is similar to the expanded icon implementation.
>> 
>> Test mentioned in JBS is an applet based which is converted to main based now and extended for all installed LAFs on the system.
>> 
>> No regression caused with the fix, link is attached in JBS .
>
> Abhishek Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove whitespace error

src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTreeUI.java line 837:

> 835:             }
> 836:             else {
> 837:                 SynthGraphicsUtils.paintIcon(collapsedIcon, context, g, x, y, w, h);

Guess it's a copy of `ExpandedIconWrapper `class, so `CollapsedIconWrapper `and `ExpandedIconWrapper` can be optimised to use common method passing in the "icon" argument..

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17294#discussion_r1446917678


More information about the client-libs-dev mailing list