Почему необходимо установить код обновления графического интерфейса пользователя в SwingUtilities.invokeLater()
?
Почему бы не поработать с самим собой? Почему вызывающий абонент должен заботиться о том, как swing обрабатывает обновления пользовательского интерфейса?