Вопрос

Я вызываю invokeLater непосредственно из кнопки на action, выполняемой с помощью этого кода:

общий

, и при этом графический интерфейс по-прежнему зависает.Почему?Я получаю тот же результат без использования функции invokelater.

Следует ли мне использовать

общий

вместо этого?

Изменить:

Спасибо, нужно использовать новую ветку.

Это было полезно?

Решение

invokeLater по-прежнему запускает код в потоке диспетчера - чуть позже.Цель invokeLater - позволить фоновым потокам публиковать работу в потоке диспетчера событий.

Похоже, вам действительно следует создать другой поток - или использовать пул потоков для того же эффекта, или SwingWorker .Что бы вы ни делали, вам нужно избегать запуска медленного метода в потоке диспетчера событий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top