1

我们正在调用 Web 服务来收集包含大约 1500 个节点的图的信息。我们在Prefuse中显示图形,同时它不断添加节点和边。大多数情况下,这似乎工作得很好,但每隔一段时间,整个应用程序就会冻结,唯一的恢复方法是终止应用程序并重新开始。发生这种情况时不会打印出任何异常。在其他情况下,我确实经常看到“IllegalArgumentException:无效的行索引:-1”,但这似乎与应用程序的冻结无关。

我看到了有关在 applet 中冻结的相关问题,但我们的应用程序运行在 JFrame 中,而不是 applet。万一这是我们的问题,我们尝试在代码的不同位置调用 ActivityManager.stopThread()(找不到 kill 方法)。这似乎没有太大区别。

是否有一种线程安全的方式可以让prefuse在编辑图形时显示图形?

4

1 回答 1

0

在编辑图表时是否有线程安全的方式来显示图表?

必须在 EDT 上完成对 GUI 的所有更新。使用 SwingWorker。

有关更多信息,请参阅Swing 中的并发。

于 2012-01-16T17:12:49.750 回答