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 . ------------- Commit messages: - JTree icon render fix Changes: https://git.openjdk.org/jdk/pull/17294/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17294&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8258979 Stats: 153 lines in 2 files changed: 115 ins; 1 del; 37 mod Patch: https://git.openjdk.org/jdk/pull/17294.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/17294/head:pull/17294 PR: https://git.openjdk.org/jdk/pull/17294