Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扩展simplewightedgraph-JgraphT_Java_Jgrapht - Fatal编程技术网

Java 扩展simplewightedgraph-JgraphT

Java 扩展simplewightedgraph-JgraphT,java,jgrapht,Java,Jgrapht,我想知道从JgraphT库扩展SimpleWeightedGraph的正确方法,这样我就可以使用一个简化的别名,并根据需要包括其他功能 而不是每次使用 SimpleWeightedGraph<Node, DefaultWeightedEdge> graph = new SimpleWeightedGraph<Node, DefaultWeightedEdge>(DefaultWeightedEdge.class); 但这似乎并没有创建对象。我是否缺少其他构造函数?好的

我想知道从JgraphT库扩展SimpleWeightedGraph的正确方法,这样我就可以使用一个简化的别名,并根据需要包括其他功能

而不是每次使用

SimpleWeightedGraph<Node, DefaultWeightedEdge> graph 
= new SimpleWeightedGraph<Node, DefaultWeightedEdge>(DefaultWeightedEdge.class);

但这似乎并没有创建对象。我是否缺少其他构造函数?

好的,我找到了。下面是必须包含edgefactory构造函数的类

public class CustomGraph extends SimpleWeightedGraph<Node, DefaultWeightedEdge>{

    /**
     * Creates a new simple weighted graph with the specified edge factory.
     *
     * @param ef the edge factory of the new graph.
     */
    public CustomGraph(EdgeFactory<Node, DefaultWeightedEdge> ef)
    {
        super(ef);
    }

    /**
     * Creates a new simple weighted graph.
     *
     * @param edgeClass class on which to base factory for edges
     */
    public CustomGraph(Class<? extends DefaultWeightedEdge> edgeClass)
    {
        this(new ClassBasedEdgeFactory<Node, DefaultWeightedEdge>(edgeClass));
    }

}
公共类CustomGraph扩展了SimpleWightEdgraph{
/**
*使用指定的边工厂创建新的简单加权图。
*
*@param ef新图形的边工厂。
*/
公共自定义图形(EdgeFactory ef)
{
超级(ef);
}
/**
*创建一个新的简单加权图。
*
*@param edgeClass类,在该类上为边创建工厂
*/

public CustomGraph(ClassGraph)什么不起作用?它不编译?它在运行时失败?很抱歉,它太模糊了。我现在已经编辑了它。对象没有被创建。
CustomGraph graph = new CustomGraph();
public class CustomGraph extends SimpleWeightedGraph<Node, DefaultWeightedEdge>{

    /**
     * Creates a new simple weighted graph with the specified edge factory.
     *
     * @param ef the edge factory of the new graph.
     */
    public CustomGraph(EdgeFactory<Node, DefaultWeightedEdge> ef)
    {
        super(ef);
    }

    /**
     * Creates a new simple weighted graph.
     *
     * @param edgeClass class on which to base factory for edges
     */
    public CustomGraph(Class<? extends DefaultWeightedEdge> edgeClass)
    {
        this(new ClassBasedEdgeFactory<Node, DefaultWeightedEdge>(edgeClass));
    }

}