我有一个不断更新的JUNG图形(新顶点,删除顶点和更新现有顶点)。所有这些工作都是在一堆定制类中完成的,这些定制类在自己的线程上运行,等待来自外部源的更新,然后进行适当更新。应该在EDT上更新至JUNG图表吗?
我现在想要可视化图形,所以我检索对图形的引用并将其设置为给予VisualizationViewer的布局。当更新进入时,它们在另一个线程中处理,然后我调用VisualizationViewer.repaint()刷新图形。
我的问题是,我应该在做所有的工作来更新EDT上的图形对象吗?或者可以在单独的线程中完成这项工作,然后像我现在所做的那样调用vv.repaint()?不确定是否有帮助/相关,但尽管大多数更新来自外部源,但用户仍然可以通过GUI手动删除图中的内容。
感谢
您正在说我正在说的,更新GUI必须除了在你的答案中,你保留了'repaint',GUI更新,在EDT上,这是不理想的...只是改变EDT上的标签,或者例如在EDT上添加顶点。 –
这正是我所期待的。谢谢! – Smitty
现在我对Jon的评论有些困惑。 – Smitty