On Wed, 10 Jan 2024 10:52:44 GMT, Abhishek Kumar <abhis...@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: > > ExpandedIconWrapper and CollapsedIconWrapper class merged together src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTreeUI.java line 82: > 80: private Icon expandedIconWrapper = new IconWrapper(IconType.EXPANDED); > 81: > 82: private Icon collapsedIconWrapper = new > IconWrapper(IconType.COLLAPSED); I guess you can pass in `collapsedIcon` or `expandedIcon` to `IconWrapper `class which can save it in `icon` field and Then IconWrapper class can just call `SynthGraphicsUtils.paintIcon(icon, context, g, x, y, w, h);` ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17294#discussion_r1447249502