У меня тоже была эта проблема, но я нашел обходной путь: эти предложения, похоже, были не самыми лучшими для меня.Диалоговое окно, когда оно отображается, будет блокировать любое другое действие, кроме как отменено, даже если оно было создано без команд.Что я сделал, так это добавил экран ожидания в BorderLayout.CENTER основного контейнера или формы, а затем, когда поток, выполняющий мою фоновую задачу, завершится, компонент будет заменен загруженным компонентом.Я не знаю, найдет ли кто-нибудь это полезным, так как на этот вопрос уже дан ответ.Мне просто хотелось опубликовать свой трюк.