1

私は JUNG に混合タイプのグラフ (SparseMultiGraph) を持っており、show edge arrows preicate を追加することでエッジにエッジ矢印を取得することができましたが、最初に VertexPredicateFilter を使用してグラフをフィルター処理すると (サブ部分のみを表示する)、矢印失われた場合、どうすればそれらを取り戻すことができますか?

エッジの矢印を表示する私の述語は次のようになります

public class ShowEdgeArrowsPredicate<T1, T2> implements
        Predicate<Context<Graph<String, Tuple>, Tuple>> {

    @Override
    public boolean evaluate(Context<Graph<String, Tuple>, Tuple> context) {
        Graph<String, Tuple> graph = context.graph;
        return graph.getEdgeType(context.element) == EdgeType.DIRECTED;
    }

}

これを次のようにレンダラーに追加します。

vv.getRenderContext().setEdgeArrowPredicate(new ShowEdgeArrowsPredicate<String, Tuple>());

しかし、どの端に矢印を描く必要があるかを指定する場所がわかりません。

追いかけてみた...

http://jung.sourceforge.net/site/jung-samples/xref/edu/uci/ics/jung/samples/PluggableRendererDemo.html

4

0 に答える 0