Ich möchte ein einfaches Diagramm mit Knoten-IDs in Knoten mit Prefuse anzeigen, aber das scheint komplizierter als es klingt.Anzeige Prefuse Knoten Feld
Graph g = new Graph();
for (int i = 0; i < 3; ++i) {
Node n1 = g.addNode();
n1.setInt("label", 1); // I am trying to add a field in a node
Node n2 = g.addNode();
Node n3 = g.addNode();
g.addEdge(n1, n2);
g.addEdge(n1, n3);
g.addEdge(n2, n3);
}
g.addEdge(0, 3);
g.addEdge(3, 6);
g.addEdge(6, 0);
// add visual data groups
VisualGraph vg = m_vis.addGraph(GRAPH, g);
m_vis.setInteractive(EDGES, null, false);
m_vis.setValue(NODES, null, VisualItem.SHAPE, new Integer(Constants.SHAPE_STAR));
Allerdings scheint es, dass dieses Feld nicht existiert, macht es Sinn, da ich nicht dieses Feld hinzugefügt haben, aber es gibt keine Option ein Feld hinzufügen keines von beiden. Ich erhalte diese Ausnahme unter Bezugnahme auf die n1.setInt("DEFAULT_NODE_KEY", 1)
Linie:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at prefuse.data.Table.getColumn(Table.java:457)
at prefuse.data.Table.setInt(Table.java:1032)
at prefuse.data.tuple.TableTuple.setInt(TableTuple.java:215)
at prefuse.demos.AggregateDemo.initDataGroups(AggregateDemo.java:141)
at prefuse.demos.AggregateDemo.<init>(AggregateDemo.java:72)
at prefuse.demos.AggregateDemo.demo(AggregateDemo.java:182)
at prefuse.demos.AggregateDemo.main(AggregateDemo.java:176)
Ich bin nicht sicher, wie Felder in Knoten zu verwenden. Ich habe versucht, die library's help zu lesen, aber ich schaffe es nicht, das herauszufinden.
Die Antwort ist ein bisschen spät, ich es selbst herausgefunden, aber immer noch, danke. –