问题标签 [graphstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用用于 graphstream 的 java API 删除节点?
我目前在我的项目中使用 Graphstream API for Java。
我不想在命令中删除或添加节点。与 JFrame & co. 我初始化了一个控制台,所以我可以插入“addNode()”或“removeNode(id)”以获得结果。
界面显示节点旁边有一个数字(ID)。
当我删除一个节点时,我希望所有具有更高 ID 的节点都更改其 ID,但我没有找到一种方法 jet 来更改一个节点的 ID。
我有:
删除节点时:
我希望 1,2 更改为 0,1 而无需重新初始化整个图形。
有没有办法实现这种行为?我想到了类似的东西:
不幸的是,我只能访问 .getID() 并且不能以这种方式操作它。
谢谢
java - GraphStream 节点可以是 href 链接吗?
是否可以将 href/url 属性分配给 GraphStream 节点,以便在单击时,新的浏览器/选项卡会打开到指定的 URL?
java - 使用 Java 在 GraphStream 上添加按钮
我的代码像这样工作并直接打印图形的所有边缘,但是我想在我的图形流窗口中直接单击添加按钮,并且当我单击一次打印图形的那一行时,而不是再次单击时打印另一行,直到图形可视化结束,正确的 Dijkstra 算法。
我怎么能做到这一点?我如何在 Graph Stream 上添加按钮?
java - How to Detect if Multiple Nodes Exist in GraphStream
This is a pretty obscure question since I don't see many people fawning over GraphStream, but does anyone know how to detect if a node exists in the graph if it has been inserted?
For example, if I write
graph.addNode(vertex1);
I get an error. If I do the same thing and write
graph.addNode(vertex1);
This is because vertex1 already exists in the graph. I can't find anything in GraphStream's documentation here and I can't find an answer anywhere I look. Any help would be much appreciated.
java - java.lang.RuntimeException:无法启动查看器。API GraphStream-Android
您好,我是 android 开发新手,正在为大学工作,创建一个可以创建(图论)图形和执行算法的应用程序,我选择使用 graphstream,因为它是一个图形库,但我有一些问题,我不能把节点放在视图上,布局在一个片段中,因为我使用两个活动一个来绘制图形,另一个来选择算法。(这只是测试图表是否出现在屏幕上,我将尝试实现按钮,以便用户创建自己的图表)。
这是我的java代码:
这是我的布局:
这是我的bottomNavView,我正在尝试放置一个事件来单击并绘制节点和边缘并删除它们:
这是我的错误:
E/AndroidRuntime:致命异常:主进程:com.projeto.gabriel.athenatgf,PID:6000 java.lang.RuntimeException:无法启动查看器。在 org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:212) 在 org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:204) 在 com.projeto.gabriel.athenatgfinal.FragmentGrafo.onCreate (FragmentGrafo.java:67) 在 android.support.v4.app.Fragment.performCreate(Fragment.java:2414) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418) 在 android.support。 v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1195) 在 android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1078) 在 android.support.v4.app。686)在android.view.Choreographer.doFrame(Choreographer.java:621)在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)在android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6169) 在 java.lang.reflect .Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781) :org.graphstream.util.MissingDisplayException:未检测到 UI 包!请使用 System.setProperty("org.graphstream.ui") 选择包。在 org.graphstream。
我的问题是如何纠正这个?,这是最好的方法吗?感谢阅读,请帮助我。
java - 如何在片段中为添加/删除节点(使用 grathstream)创建触摸事件?
我正在创建一个创建图形(节点和边)的应用程序,我想实现一个触摸方法来创建节点,但是我遇到了困难,因为当我触摸画布以添加节点时它不起作用,但是如果我点击活动作品的底部菜单
我尝试实现 View.OnTouchListener 但这无法识别 FrameLayout 中的触摸,该触摸与我显示图形的片段一起使用。
我的活动:
这是我的java(我试图触摸屏幕并显示敬酒):
我希望我可以触摸屏幕并添加节点,或者单击并删除否,选择节点1然后选择节点2并创建边缘
java - 如何使用 api Graphstream 在 android studio 中通过触摸创建节点?
当我单击屏幕创建节点时,我试图获取它,但通过 Viwerpipe,我唯一能做的就是删除已经创建的节点。
我搜索了很多地方但我没有找到如何使用触摸屏来做到这一点,我通常发现这个链接说它有用但我不明白:我搜索了很多地方但我没有找到如何使用触摸屏做到这一点,我通常发现这个链接说它很有用但我无法理解:https://github.com/graphstream/gs-ui-android-test/tree/master/app/src/main/ java/ui/graphstream/org/gs_ui_androidtestFull
java - java - Graphstream 查看器不出现
我正在使用 graphstream 库以使用 java 构建可视化图形应用程序。我想在从 jframe 扩展的类中加载图表。问题是我找到的文档很旧,我没有找到其他文档。这是我的代码的一部分,我想从现有文件加载图表:
问题是图形没有出现在 jpanel 中。
graph-algorithm - 如何检查节点是否已经存在
我想在添加新节点之前检查该节点是否已存在于图中。
我尝试使用 foreach 循环来做到这一点。但它没有用。
如果节点已存在于图上,我想检索 true
java - 如何从 Graphstream 将 AttributeChangedListener 附加到 Graph?
我需要随着时间的推移更改节点和边的属性。时间被分成时间段,每个时间段看起来都一样:检查每个节点和边缘是否有可能的变化,并在必要时编辑属性。具体来说,有数字属性,节点的大小和边的宽度基于属性值。最初,图形正确显示。节点和边具有假定的大小。但是随着时间的推移动态地改变属性值并不会改变元素的大小。如何确保属性更改也会更改图形可视化?
据我了解 Graphstream 文档和教程有源、汇和刀槽花纹(管道既是源又是汇)。源创建事件,接收器消耗它们。我使用作为源的 GridGenerator。我可以将图形添加为接收器并让生成器创建图形。我想,我必须在图表中添加一个接收器,因为更改图表元素的属性使其成为源。但是我用什么做水槽呢?graph.display()
返回一个查看器,但我不能将它添加为接收器,它说它与graph.addSink(sink)
. 尽管 Graphstream Docs 说 Viewer 是 sink 并且 Viewer 会自动添加为 sink。那为什么我在 UI 中看不到变化呢?我不明白。
生成图后,节点和边得到属性
在这里,我随着时间的推移动态更改节点属性
这里的边缘属性
有人知道我必须如何添加水槽吗?还是我错过了其他东西?