我正在尝试使用JUNG库来显示具有顶点和边的基本图形。使用网站上的示例代码,我有以下内容:
import edu.uci.ics.jung.graph.DirectedSparseGraph;
import edu.uci.ics.jung.graph.Graph;
import edu.uci.ics.jung.graph.UndirectedSparseGraph;
import java.util.*;
public class GraphTest {
public GraphTest(){
Graph g = new DirectedSparseGraph();
Vertex v1 = (Vertex) g.addVertex(new DirectedSparseVertex());
Vertex v2 = (Vertex) g.addVertex(new DirectedSparseVertex());
}
然而,“Vertex”用红色加下划线,Netbeans告诉我它找不到符号。我尝试导入Netbeans建议但无济于事,现在我相信Vertex实际上是Java的原生。我不知道我哪里出错了,但我认为这是一个逃避我的基本错误。
答案 0 :(得分:1)
检查addVertex
的{{1}}的返回类型表明该函数返回的布尔值不是Vertex
Jung 1.XX确实有一个返回{{1}的方法可以向下转换为ArchetypeVertex
。我认为你可能试图从版本1中使用版本2获得一个示例,但它不向后兼容,这导致构建错误。
答案 1 :(得分:1)
Jung使用泛型类型,它没有定义顶点类型。
您计划在图表中添加什么内容?
假设你想要你的顶点和整数的字符串,你的代码应该看起来像
Graph<String,Integer> g = new DirectedSparseGraph<String,Intger>();
g.addVertex("foo"); // return type is just a boolean indicating if the vertex was already in graph
g.addVertex("bar");
这将为您提供一个包含两个未连接顶点的图形。