Префуз замораживает JFrame

Мы вызываем веб-сервисы для сбора информации для графа с около 1500 узлами. Мы отображаем график в Prefuse, в то время как он постоянно добавляет узлы и ребра. В большинстве случаев кажется, что это прекрасно работает, но время от времени все приложение зависает, и единственный способ восстановиться - это убить приложение и начать все сначала. Никаких исключений не распечатывается, когда это происходит. В других случаях я довольно часто вижу "IllegalArgumentException: недопустимый индекс строки: -1", но это, похоже, не связано с зависанием приложения.

Я видел похожие вопросы о зависании в апплетах, но наше приложение работает в JFrame, а не в апплете. На тот случай, если это была наша проблема, мы попытались вызвать ActivityManager.stopThread() (не удалось найти метод kill) в разных местах нашего кода. Это, кажется, не имеет большой разницы.

Есть ли потокобезопасный способ префузии для отображения графика во время редактирования графика?

1 ответ

Есть ли потокобезопасный способ отображения графика при редактировании графика?

Все обновления графического интерфейса должны быть сделаны на EDT. Используйте SwingWorker.

См. Параллелизм в Swing для получения дополнительной информации.

Другие вопросы по тегам