私はJgraphXでグラフを作成しています。有向グラフは道路や交差点を表します。すべてのルートについて、私は2つのエッジを定義します。それぞれの方向に対して1つです。Jgraphxでオーバーラップするエッジ
この結果、グラフの画像には、道路を表す2つのエッジが重なって表示されます。どうすればこれを避けることができますか? 頂点にはエッジのアンカーポイントのようなものがありますか?もしそうなら、どうすれば定義できますか?
これは私が重なった縁部を有する
package it.rex.view;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import org.jgrapht.ListenableGraph;
import org.jgrapht.ext.JGraphXAdapter;
import org.jgrapht.graph.ListenableDirectedGraph;
import com.mxgraph.layout.mxCircleLayout;
import com.mxgraph.layout.mxIGraphLayout;
import com.mxgraph.swing.mxGraphComponent;
//import grafotest1.DemoWeightedGraph.MyEdge;
import it.rex.model.Incrocio;
import it.rex.model.Strada;
import javax.swing.JScrollPane;
public class StradarioView extends JFrame {
/**
* Create the frame.
*/
public StradarioView(ListenableGraph<Incrocio, Strada> listenableGraph) {
// Graph come from JgraphT
JGraphXAdapter<Incrocio, Strada> graphAdapter =
new JGraphXAdapter<Incrocio, Strada>(listenableGraph);
mxIGraphLayout layout = new mxCircleLayout(graphAdapter);
layout.execute(graphAdapter.getDefaultParent());
mxGraphComponent graphComponent = new mxGraphComponent(graphAdapter);
getContentPane().add(graphComponent, BorderLayout.CENTER);
setTitle("Stradario");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
pack();
add(graphComponent);
}
}
これに結果をグラフ表示するために使用するコードです:あなたは以下を追加することによってそれを解決することができ
'mxParallelEdgeLayout'を見てください –