我按如下方式进行顶点插入:
String id = "1";
String value = "One";
Object v = graph.insertVertex(parent, id, value, 30, 30, 0, 0);
所以我需要通过id ...
来获取这个顶点Object[] cells = graph.getChildVertices(graph.getDefaultParent());
for (Object c : cells)
{
mxCell cell = (mxCell) c;
System.out.println("id: " + cell.getId() + ", value: " + cell.getValue());
}
//result:
//id: 2, value: One
为什么id已经改变了? 我怎样才能正确得到顶点?
答案 0 :(得分:2)
尝试mxGraphModel.getCell(String id)
。
答案 1 :(得分:0)
当您创建没有特定mxGraphModel的新mxGraph时,模型会自动创建两个节点。
“root”节点使用id =“0”,另一个节点作为根节点的子节点,id =“1”。此节点是使用graph.getDefaultParent()时通常获得的节点。
因此,当您尝试使用id =“1”插入节点时,模型已包含具有给定id的节点,因此它会创建一个新ID并插入节点。尝试使用不同的ID,它应该可以正常工作。