問題タブ [graphstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Graphstream Mouse Listener と Swing JMenuBar での奇妙な動作
グラフを作成して表示するプログラムを作成しています。
グラフを処理し、マウス リスナー ( Graphstream ViewerListener
) を実装するクラスがあります。イベントを取得するには、ループを使用して終了するまで pump() メソッドを呼び出す必要があります。
グラフを表示するために、Graphstream
ライブラリには View オブジェクトがあり、これを拡張して通常の として使用できますJpanel
。View オブジェクトを のコンテンツ ペインとして設定するだけJFrame
です。
JFrame
メニューバーなしで使用すると、私のクラスは正常に動作します。
しかし、 を に設定するJMenuBar
とJFrame
、問題が発生します。グラフ クラス内でメソッドを呼び出すと、ループ内に入りますが、ViewerListener
イベントをリッスンしていないように機能しません。なんで?
これは私のクラスコードです。不要なものは省略されています
さて、物事を大局的に見ると、これは機能し、ループに入り、ノードを取得し、ループを正常に終了します。(不要なコードは再度省略)
しかし、これを追加すると、そうではありません。ループ内に入り、ViewerListener
決して発火しないイベントが発生するため、スタックします。
すべてを壊しているように見える部分はこれです
menuBar.add(algorithmMenu);
この特定の行をコメントアウトすると、正常に動作します。
ViewerListener
が応答しない原因となっている可能性のあるアイデアはありますか? それは非常にランダムに見えるので、 aJMenuBar
はそれを壊します。
java - Graphstream での平行エッジの表示
マルチグラフがあり、ある頂点から別の頂点に移動する各エッジを明確に表示できるようにしたいと考えています。たとえば、2 つの頂点を持ち、最初のノードから 2 番目のノードに向かう 2 つのエッジを持つグラフがある場合、矢印が重なるのではなく、最初のノードから 2 番目のノードに向かう 2 つの矢印が表示されます。
これは現在の私のコードで、A と B を接続する 2 つのエッジを作成しようとしていることがわかります。
助けてくれてありがとう。
java - ツールキットを使用した Gephi へのグラフのストリーミング: NullPointerException
通常のグラフを作成し、Gephi ツールキットを使用して Gephi GUI にストリーミングしようとしています。ツールキットとストリーミング プラグインのチュートリアルに従っています。ルックアップ API が有効な値を返さないため、コードを機能させるのに苦労しています。デバッグ時に、以下の両方の Lookup メソッドが null 値を返すことがわかりました。そのため、これらのオブジェクトを使用して他のメソッドにアクセスする際に問題が発生しています。
StreamingServer サーバー = Lookup.getDefault().lookup(StreamingServer.class);
ServerControllerFactory controllerFactory = Lookup.getDefault().lookup(ServerControllerFactory.class);
「server」または「controllerFactory」の両方が null であるため、「server」または「controllerFactory」オブジェクトを使用してメソッドにアクセスすると、NullPointerException がスローされます。たとえば、次のとおりです。
ServerController serverController = controllerFactory.createServerController(graph); server.register(serverController、コンテキスト);
これは私が持っているコードです:
これを解決するための入力は役に立ちます。
java - アイコンを同じ順序で並べたグラフストリーム
グラフでアイコンを使用するには、助けが必要です。正確には、次の 2 つのものが必要です。
- ノードとしてのアイコン。
- ノードの横にあるアイコン。
したがって、このチュートリアルの一番上の行の最初と最後の写真に示されているものが必要です。
次のようなスタイルシートを作成する必要があると思います。
しかし、どういうわけか実行できず、アイコンが表示されません。私の両方のバリアントのアイコンの例を誰かに見せてもらえますか?
第二に、私は常に 5 つのノードを持っています。次のフォームを取得します。
ただし、ノードの順序は毎回異なります。複数のグラフを描画して比較したいので、同じ順序が必要です。
java - GraphStream スレッドの同期
グラフとアルゴリズムを示すためのツールを作成しようとしています。そのために、GraphStream ライブラリを見つけました。そのドキュメントとチュートリアルをすべて読みましたが、これを機能させることはできません。グラフをカスタム GUI (ボタン付きの左側のメニューと右側のグラフ スペース) に配置しようとしていますが、なんとかそれを行うことができました。2 つのボタンを有効にすると、生成 - ランダム ジェネレーターでグラフを作成し、クリア - グラフをクリアすると、すべて正常に動作しますが、生成を押してクリアした後、次のエラーが発生します。
スレッド "Thread-2" org.miv.pherd.IdAlreadyInUseException の例外: 同じ識別子を持つ粒子が既に存在します (0)
GUIを使用しない単純なテストプログラムで、メインで同じことを行う単純なコードを作成し、それが機能するため、これが問題である理由がわかりません。
このコードは機能しますが、GUI 内でボタンを使用して実行すると、上記のエラーがスローされます。また、プログラムで実行されているスレッドの数も確認しましたが、そのうちの 3 つが実行されているようです。私の問題がかなり明確で、誰かが私を助けてくれることを願っています。皆さん、ありがとうございました!
java - グラフストリームでグラフを保存
私のJavaプロジェクトでは、このライブラリ「graphstream」でグラフを使用しています。
グラフをタイプ ファイル「Graphviz Dot」に保存する必要があります。つまり、ノード、エッジ、ノード アトリビュート、エッジ アトリビュートです。私は通常、この方法でグラフをファイルに保存します。
問題: ファイルを開くかロードすると、エッジ属性が表示されません。「graphstream」を知っていて、このファイルを保存できることを知っている人はいますか?
ご協力ありがとうございました。
java - GraphStreamでノードを一度レイアウトする方法は?
GraphStream
でレイアウト処理を起動することができますViewer#enableAutoLayout()
。残念ながら、このプロセスはノードのドラッグなどの各ユーザー操作を改ざんします。
自動レイアウトを一度行ってから停止することはできますか?
autolayout を 1 秒間オンにして待機しようとしましたが、うまくいきませんでした。