使用JUNG库在Java中使用Vertex

时间:2013-04-18 09:54:56

标签: java jung vertex

我正在尝试使用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的原生。我不知道我哪里出错了,但我认为这是一个逃避我的基本错误。

2 个答案:

答案 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");

这将为您提供一个包含两个未连接顶点的图形。