2014-12-18 109 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

回答