2014-12-18 112 views
0

我试图创建一个演示图形和算法的工具。为此,我找到了GraphStream库。我已经阅读了所有的文档和教程,但我不能让这一件事情起作用。我试图将图形放入我的自定义GUI(带按钮和右图空间的左菜单),并且我设法做到了这一点。现在,当我启用了两个按钮:生成 - 随机生成器创建图形,并清除 - 清除图形,这一切工作正常,但清除后,当我按下生成,我得到以下错误:GraphStream线程同步

Exception in thread "Thread-2" org.miv.pherd.IdAlreadyInUseException: a particle with the same identifier already exists (0)

我不明白为什么这是一个问题,因为在没有GUI我简单的测试程序,我做了简单的代码中主要做同样的事情,它的工作原理:

public class Test { 

public static void main(String[] args){ 

    Graph graph = new SingleGraph("test"); 

     graph.display(); 

     Generator generator = new BarabasiAlbertGenerator(); 
     generator.addSink(graph); 
     generator.begin(); 
     for (int i = 0; i < 100; i++) { 
     generator.nextEvents(); 
     } 

     generator.end(); 

     graph.clear(); 
     generator = new BarabasiAlbertGenerator(); 
     generator.addSink(graph); 
     generator.begin(); 
     for (int i = 0; i < 100; i++) { 
     generator.nextEvents(); 
     } 
     generator.end(); 


} 

此代码的工作,但是当我的按钮我的GUI中执行它,我抛出错误我上面已经提到过。我还检查了我的程序中有多少个线程正在运行,看起来有三个线程在运行。我希望我的问题很清楚,有人可以帮助我。谢谢你们!

+1

网络搜索快速导致http://sympa.litislab.fr/sympa/arc/graphstream-users/2013-09/msg00003.html - 你确定你正在使用一个版本,这个错误已被修复吗? – Marco13 2014-12-19 09:49:37

+0

看到帖子,但没有看到昨晚的建立,非常感谢你! :d – user2740217 2014-12-19 10:06:07

回答