У меня была та же проблема, и я смог ее исправить, у меня есть два предложения, если вы используете SwingWorkers.
1) В методе doInBackground вашего работника попробуйте перехватить любые Runtime или необработанные исключения, чтобы вы моглиубедитесь, что ваш метод не завершает работу, прежде чем думать, что это так.
2) Убедитесь, что вы не обновляете какой-либо компонент Swing, кроме событий изменения свойств рабочего.Помните, что все компоненты Swing должны обновляться только в потоке событий, а не в потоке рабочего.
Надеюсь, это поможет.