setIcon (ImageIcon) выполнит повторную проверку и перерисовает себя ONLY , если ImageIcon - это другой экземпляр.
При работе с языковыми стандартами большинство людей используютResourceBundle, который возвращает строки, которые, в свою очередь, являются неизменяемыми.Поэтому установка текста снова и снова не имеет значения.
Однако в этом случае ResourceLoader (пользовательский класс) возвратил новый экземпляр ImageIcon.Конечно, это был тот же образ, но это был другой экземпляр.И если вы декомпилируете код, вы увидите, что setIcon (по крайней мере, для JButtons) будет перерисован и повторно проверен, если newIcon! = OldIcon.
Решением было использование HashMap в ResourceLoader, таким образом он избавляет от загрузки изображений более одного раза, так как большинство изображений используются очень часто (могут также использовать экземпляры повторно, если можете).Оказывается, что в целом эта быстрая настройка также сэкономила приличный объем общего потребления памяти в качестве дополнительного бонуса.