On Fri, 5 Dec 2025 03:01:05 GMT, Prasanta Sadhukhan <[email protected]> 
wrote:

> `SwingUtilities.replaceUIInputMap()` and 
> `SwingUtilities.replaceUIActionMap()` do not actually remove previously 
> installed maps as their Javadoc indicates if `null` is passed as 
> `uiInputMap`/`uiActionMap`
> 
> https://github.com/openjdk/jdk/blob/7e91d34f3e83b4c39d6ce5de34373d7d74d54512/src/java.desktop/share/classes/javax/swing/SwingUtilities.java#L1802-L1803
> https://github.com/openjdk/jdk/blob/7e91d34f3e83b4c39d6ce5de34373d7d74d54512/src/java.desktop/share/classes/javax/swing/SwingUtilities.java#L1827-L1828
> 
> If the passed  `uiInputMap`/`uiActionMap` is null, `JComponent` actually 
> doesn't create a fresh map and returns the previously installed map 
> https://github.com/openjdk/jdk/blob/7e91d34f3e83b4c39d6ce5de34373d7d74d54512/src/java.desktop/share/classes/javax/swing/JComponent.java#L2586-L2595
> which is in contradiction to the `replaceUI*Map` spec so `SwingUtilities 
> `needs to clear the previously installed map which is being done in this fix.

This pull request has now been integrated.

Changeset: 1bbbce75
Author:    Prasanta Sadhukhan <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/1bbbce75c5e68429c2a32519eb3c36d964dcdf57
Stats:     96 lines in 2 files changed: 96 ins; 0 del; 0 mod

6726690: SwingUtilities.replaceUI*Map() methods do not remove previously 
installed maps

Reviewed-by: azvegint, tr

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

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

Reply via email to