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

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

在编辑图形时,prefuse是否有线程安全的方式显示图形?

最佳答案

在编辑图形时,有没有一种线程安全的方式来显示图形?


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

有关更多信息,请参见Concurrency in Swing

10-08 08:47