gpt4 book ai didi

尝试显示标签的权重时使用 jGraphT 出现 java.lang.InstantiationException

转载 作者:行者123 更新时间:2023-12-01 18:43:57 26 4
gpt4 key购买 nike

大家好,我正在尝试使用 jGraphT 显示图表。我不想用源音符和目标音符的名称来标记边缘,而是想显示边缘的权重。为此,我创建了一个额外的类来以这种方式覆盖 DefaultWeightedEdge 的 toString 方法

    class MyWeightedEdge extends DefaultWeightedEdge {
@Override
public String toString() {
return Double.toString(getWeight());
}
}

我在任何地方都使用 MyWeightedEdge,而不是使用 DefaultWeightedEdge,但我得到了java.lang.InstantiationException

Exception in thread "main" java.lang.RuntimeException: Edge factory failed
at org.jgrapht.graph.ClassBasedEdgeFactory.createEdge(ClassBasedEdgeFactory.java:86)
at org.jgrapht.ext.JGraphModelAdapter$ShieldedGraph.addEdge(JGraphModelAdapter.java:1091)
at org.jgrapht.ext.JGraphModelAdapter.handleJGraphInsertedEdge(JGraphModelAdapter.java:506)
at org.jgrapht.ext.JGraphModelAdapter.handleJGraphChangedEdge(JGraphModelAdapter.java:474)
at org.jgrapht.ext.JGraphModelAdapter$JGraphListener.handleChangedEdges(JGraphModelAdapter.java:964)
at org.jgrapht.ext.JGraphModelAdapter$JGraphListener.graphChanged(JGraphModelAdapter.java:893)
at org.jgraph.graph.DefaultGraphModel.fireGraphChanged(Unknown Source)
at org.jgraph.graph.DefaultGraphModel$GraphModelEdit.execute(Unknown Source)
at org.jgraph.graph.DefaultGraphModel.insert(Unknown Source)
at org.jgrapht.ext.JGraphModelAdapter.internalInsertCell(JGraphModelAdapter.java:769)
at org.jgrapht.ext.JGraphModelAdapter.handleJGraphTAddedEdge(JGraphModelAdapter.java:651)
at org.jgrapht.ext.JGraphModelAdapter$JGraphTListener.edgeAdded(JGraphModelAdapter.java:1036)
at org.jgrapht.graph.DefaultListenableGraph.fireEdgeAdded(DefaultListenableGraph.java:317)
at org.jgrapht.graph.DefaultListenableGraph.addEdge(DefaultListenableGraph.java:182)
at Visual.JGraphAdapterDemo.init(JGraphAdapterDemo.java:135)
at Visual.JGraphAdapterDemo.<init>(JGraphAdapterDemo.java:89)
at world.Conection.paint(Conection.java:268)
at world.Conection.<init>(Conection.java:56)
at world.Conection.main(Conection.java:44)
Caused by: java.lang.InstantiationException: Visual.JGraphAdapterDemo$MyWeightedEdge
at java.lang.Class.newInstance(Unknown Source)
at org.jgrapht.graph.ClassBasedEdgeFactory.createEdge(ClassBasedEdgeFactory.java:84)
... 18 more

我将不胜感激任何帮助。谢谢。

最佳答案

我遇到了完全相同的问题。我在另一个类文件中有 MyWeightedEdgeClass 的代码。我将它放在自己的文件中(作为公共(public)类),然后 ClassBasedEdgeFactory 可以看到它并实例化它。

关于尝试显示标签的权重时使用 jGraphT 出现 java.lang.InstantiationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com