On Thu, 13 Nov 2025 05:22:40 GMT, Prasanta Sadhukhan <[email protected]> wrote:
>> `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" >> /> > > Prasanta Sadhukhan has updated the pull request incrementally with one > additional commit since the last revision: > > Test formatting src/java.desktop/share/classes/javax/swing/JTree.java line 784: > 782: > 783: setUI((TreeUI)UIManager.getUI(this)); > 784: } finally { Is it possible that the cell renderer and cell editor depend on the current UI set on the component, which is the opposite situation of the current bug, how it will work before after the patch? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/28258#discussion_r2525933343
