介绍
是一个Java开源项目,其目的在于为开发关于图或网络结构的应用程序提供一个易用、通用的基础架构。使用JUNG功能调用,可以方便的构造图或网络的数据结构,应用经典算法(如聚类、最短路径,最大流量等),编写和测试用户自己的算法,以及可视化的显示数据的网络图。
1. 图数据结构
ParseMultiGraph 和ParseDirectedGraph,这两个类支持参数化,可以传入自定义的 vertex和edge类
2. 图算法
两点间最短路径
最大流
3. 图形可视化
BasicVisualizationServer 是显示图形的基本类,实现接口 VisualizationServer,继承swing的JPanel 类,作为graph显示的画布
Layout接口和 edu.uci.ics.jung.algorithms.layout下的类 完成布局。
显示图形的最少内容(参考SimpleGraphView.java 类):
1. graph数据结构
2. layout的实现,如CircleLayout
3. BasicVisualizationServer
4. 基本的GUI 组件,如 swing JFrame
为边和线着色、label
Renderer: 画edges, edges label ,vertext, vertex label ;RenderContext提供参数
参考 SimpleGraphView2.java
4. 获得交互
鼠标交互:根据赋值的mode 有不同的行为,包括 pickin