1

基本的に、Java with JUNG プログラムで頂点とエッジを作成するためのコンストラクターを持つ静的クラスを含むクラス GraphData.java があります。私が持っている頂点クラスのプロパティの 1 つは、private int dataType です。この dataType (1、2、または 3) に基づいて、ノードは円、正方形、または三角形として表示されます。これは、メイン クラスで手動でノードを作成し、dataType をハードコアするときに実行できます。より動的なソリューションを探しています。

私ができるようにしたいのは、通常の左クリックで dataType が 1 に設定されて円が描画されることですが、Shift キーを押しながら左クリックすると dataType が 2 に設定され、正方形が描画され、ctrl + クリックで三角形が描画されます。誰もこれを行う方法を知っていますか? 前もって感謝します。

現在使用しているマウスは次のとおりです。

EditingModalGraphMouse gm = new EditingModalGraphMouse(vv.getRenderContext(), 
GraphData.MyVertexFactory.getInstance(),
GraphData.MyEdgeFactory.getInstance());
4

1 に答える 1

1

Transformer を使用する必要があります。たとえば、EllipseVertexShapeTransformer を拡張し、形状を変更できる場合は transform メソッドを実装する必要があります。それよりも、この Transformer を VisualizationViewer に追加してください。また、JUNG デモのソース コードを確認してください。ほとんどの場合をカバーしています。

于 2011-05-10T09:12:17.313 に答える