Скорее всего, вы выполняете долго выполняющуюся задачу в потоке диспетчеризации событий, не позволяя ей обслуживать события пользовательского ввода, что делает ваш пользовательский интерфейс невосприимчивым.
Вы можете проверить это, запустив jstackили JConsole и ищите трассировку стека для «AWT EventQueue».
Другой альтернативой является то, что вы выполняете законную задачу пользовательского интерфейса, но у вас есть недостатки в базовом коде.Например, вы, возможно, определили JTable
, содержащий 1000 000 строк, и основали подчеркивание TableModel
на LinkedList
, что привело к O (n) доступу на строку.