2012-01-16 3 views
1

約1500のノードを持つグラフの情報を収集するためにWebサービスを呼び出しています。グラフはPrefuseに表示されますが、ノードとエッジが継続的に追加されています。ほとんどの場合、これはうまくいくようですが、しばらくしてアプリケーション全体がフリーズし、回復する唯一の方法はアプリケーションを終了してからやり直すことです。これが発生した場合は、例外は出力されません。他の場面では、私はかなりの頻度で "IllegalArgumentException:無効な行インデックス:-1"を参照していますが、これはアプリケーションのフリーズに関連していないようです。PrefuseフリーズJFrame

私はfreezing in appletsについての関連の質問を見ましたが、私たちのアプリはアプレットではなくJFrameで動作しています。これが私たちの問題だった場合には、私たちのコードのさまざまな場所でActivityManager.stopThread()を呼び出すことを試みました(killメソッドが見つかりませんでした)。違いがあれば、これはあまりないようです。

prefuseは、グラフの編集中にグラフを表示するためのスレッドセーフな方法はありますか?

+0

おそらくコードを表示する必要があります。 – Viruzzo

+0

そのスレッドで推奨されているように 'kill()'を呼び出そうとしましたか? –

+0

もうkillメソッドはありません。私はそれがstopThread()に置き換えられたと推測しています。 –

答えて

0

グラフの編集中にグラフを表示するスレッドセーフな方法はありますか?

すべてのアップデートはEDTで行う必要があります。 SwingWorkerを使用します。

詳細については、Concurrency in Swingを参照してください。

+1

もちろんguiへのすべてのアップデートはEDTになければなりません。しかし、それはあまりにもprefuseデバッグでは役に立たない。 –