On Fri, 20 Jun 2025 15:29:56 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:
>> Prasanta Sadhukhan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Remove resetting description from constructor as it is already null > > src/java.desktop/share/classes/javax/swing/ImageIcon.java line 233: > >> 231: Object o = image.getProperty("comment", imageObserver); >> 232: if (o instanceof String) { >> 233: description = (String) o; > > To address [Phil's > comment](https://github.com/openjdk/jdk/pull/25767/files#r2155610976): > >> This is wasted work if the app calls ImageIcon(Image, String) because that >> promptly over-writes whatever was obtained via this code. > > If we're going to change the constructors, to avoid *this wasted work* when > `ImageIcon(Image, String)` constructor is called, I suggest moving the work > into `ImageIcon(Image, String)` and implement `ImageIcon` like this: > > > public ImageIcon (Image image) { > String description = null; > if (image != null) { > Object o = image.getProperty("comment", null); > if (o instanceof String) { > description = (String) o; > } > } > this(image, description); > > It is allowed in JDK 22 and later. Note that this was a preview language feature until **JDK 25**. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2162548529