gpt4 book ai didi

java - 获取 GraphStream 中图的第二个表示形式

转载 作者:行者123 更新时间:2023-12-01 04:12:30 25 4
gpt4 key购买 nike

我想创建代表人们之间业务交互的图表,并且我使用 Java 的 GraphStream 库。我写了这样的代码:

       EventQueue.invokeLater(new Runnable() {
public void run() {

System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");

Graph graph = new SingleGraph("Tutorial 1");

String styleSheet = "node {\n"
+ "fill-color: black;\n"
+ "}\n"
+ "node.marked {\n"
+ "fill-color: red;"
+ "size: 25px;\n"
+ "}";

graph.addNode("A");
graph.addNode("B");
graph.addNode("C");
graph.addEdge("AB", "A", "B");
graph.addEdge("BC", "B", "C");
graph.addEdge("CA", "C", "A");
graph.addAttribute("ui.stylesheet", styleSheet);
graph.getNode("A").addAttribute("ui.label", "A Node");
graph.getNode("A").addAttribute("ui.class", "marked");


graph.getNode("B").addAttribute("ui.clicked", "marked");
graph.setAutoCreate(true);


Viewer viewer = new Viewer(graph, Viewer.ThreadingModel.GRAPH_IN_SWING_THREAD);
View view = viewer.addDefaultView(false);/**/ // false indicates "no JFrame".
View defaultView = viewer.getDefaultView();



JFrame frame = new JFrame("Graph");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 400);
frame.add(new JScrollPane(defaultView, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS));
frame.setVisible(true);
}
});

当我运行这个程序时,会显示一个窗口,我得到三角形的所有顶点都在同一点。然后,当我拖动三角形的顶点时,我会得到一个 3D 三角形。有人能解释一下为什么我拖动三角形的顶点后会得到一个 3D 三角形吗?如何获得二维图表?

  Viewer viewer1 = graph.display();
View view1 = viewer1.addDefaultView(false);

上面的代码工作正常,但我不明白为什么它在第一个示例中不起作用感谢您阅读这篇文章。最美好的祝愿。

最佳答案

只需使用:

Viewer viewer = new Viewer(graph, Viewer.ThreadingModel.GRAPH_IN_SWING_THREAD);
viewer.enableAutoLayout();
View view = viewer.addDefaultView(false);/**/ // false indicates "no JFrame".
View defaultView = viewer.getDefaultView();

发生这种情况是因为“graph.display();”调用 display(true),这会触发 AutoDisplay,但当您创建新查看器时,默认情况下它不会启用。

关于java - 获取 GraphStream 中图的第二个表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789250/

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