`JTree.updateUI` calculate item sizes from the cell renderer, but it doesn't 
call `updateUI `on the cell renderer until afterwards. This leads to incorrect 
size calculation, which is observed when we switch from one L&F to another 
where it is seen that all tree items are slightly too cramped, with too little 
space between rows and text are abbreviated.
Fix is to ensure `JTree.updateUI` update the cell renderer before updating the 
UI. 
CI testing is ok..

Before fix
<img width="142" height="146" alt="image" 
src="https://github.com/user-attachments/assets/95d43e47-122a-4ca4-8a3f-f4bf5c1d3f43";
 />

After fix
<img width="145" height="125" alt="image" 
src="https://github.com/user-attachments/assets/068b5988-119c-4b99-be27-1ef5d52a28a2";
 />

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

Commit messages:
 - 8042054: JTree.updateUI uses out-of-date item size information
 - 8042054: JTree.updateUI uses out-of-date item size information

Changes: https://git.openjdk.org/jdk/pull/28258/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28258&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8042054
  Stats: 105 lines in 2 files changed: 102 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/28258.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28258/head:pull/28258

PR: https://git.openjdk.org/jdk/pull/28258

Reply via email to