可以变为三角形,正方形,多边形。。
只需将 BasicVisualizationServer升级为VisualizationViewer,然后变换器生成图形,渲染环境即可。
// vv = new BasicVisualizationServer<People, Link>(layout);
vv = new VisualizationViewer<People, Link>(layout);
// 设置顶点文本标签
vv.getRenderContext().setVertexLabelTransformer(
new ToStringLabeller<People>());
// 设置边文本标签
vv.getRenderContext().setEdgeLabelTransformer(
new ToStringLabeller<Link>());
//自定义顶点形状
//设置顶点形状的显示尺寸为:字符数*8+16
Transformer<People, Integer> vst = new Transformer<People, Integer>() {
public Integer transform(People i) {
int len = i.toString().length();
if (len < 3)
len = 3;
return new Integer(len * 8 + 50);
}
};
//高宽比变换器
Transformer<People, Float> vart = new Transformer<People, Float>() {
public Float transform(People i) {
int len = i.toString().length();
if (len < 3)
len = 3;
return new Float(2.0 / len);
}
};
//构造顶点形状工厂
final VertexShapeFactory<People> vsf = new VertexShapeFactory<People>();
//设置顶点形状变换器
Transformer<People, Shape> vstr = new Transformer<People, Shape>() {
public Shape transform(People p) {
return vsf.getRectangle(p);
}
};
//将形状变换器置入渲染环境中
vv.getRenderContext().setVertexShapeTransformer(vstr);
// 响应鼠标事件
DefaultModalGraphMouse<People, Link> gm = new DefaultModalGraphMouse<People, Link>();
gm.setMode(Mode.PICKING);
vv.setGraphMouse(gm);
getContentPane().add(vv);
pack();
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//将顶点设置为图片
final ImageIcon ii=new ImageIcon("1.gif");
Transformer <Integer, Icon> vit=new Transformer<Integer,Icon>(){
public Icon transform(Integer arg0) {
return ii;
}
};
vv.getRenderContext().setVertexIconTransformer(vit);
vv.getRenderer().getVertexLabelRenderer().setPosition(Position.E);
分享到:
相关推荐
JUNG提供了数据绑定机制,允许用户将自定义数据对象与图的顶点和边关联,这在处理带权重或属性的图时非常有用。 7. **I/O支持**: JUNG支持多种图格式的导入和导出,如GraphML、GML、DOT等,便于数据交换和存储。...
jung中文教程(read me first) jung jar包 jung API帮助文档 jung示例源码 源码内容包括: 1.创建图的数据结构 ...4.自定义顶点、边的数据类型 5.从文件中读入图 6.关于图的应用算法 7.可视化人机交互 等等
jung中文教程(read me first) jung jar包 jung示例源码 源码内容包括: 1.创建图的数据结构 2.图的可视化表现 ...4.自定义顶点、边的数据类型 5.从文件中读入图 6.关于图的应用算法 7.可视化人机交互 等等
JUNG有一个活跃的开发者社区,提供了论坛、邮件列表和问题跟踪系统,用户可以在这里寻求帮助、报告问题或贡献代码。 总之,JUNG API 是一个强大且灵活的框架,无论你是要进行学术研究、数据分析还是开发应用程序,...
JUNG,全称为Java Universal Network/Graph framework,是一个开源的Java项目,专门用于构建和分析图或网络结构的应用程序。它提供了丰富的功能,包括创建图的数据结构、应用经典算法、自定义算法以及图形化展示数据...
网络是由节点(或顶点)和边组成的,可以用来表示各种复杂的关系,如社交网络、交通网络或生物网络。图则是数学中的一个抽象概念,由顶点和连接顶点的边构成。JUNG支持多种图类型,包括无向图、有向图、加权图等。 ...
《JUNG:Java平台上的网络与图应用开发详解》 JUNG,全称为Java Universal Network/Graph Framework,是一个强大的开源库,专为在Java平台上进行网络和图的应用开发设计。标题中的"jung2-2_0_1jar包"指的是JUNG库的...
`jung-graph-impl-2.0-alpha2-sources.jar`包含具体实现,如`UndirectedGraph`和`DirectedGraph`,它们提供了添加、删除和查询边与顶点的方法,以及检查图的连通性等特性。 2. **可视化工具**:JUNG的强大之处在于...
JUNG2允许开发者轻松地操作图结构,例如添加和删除顶点与边、查询图中是否存在特定的顶点或边等。 #### 四、总结 本教程介绍了JUNG2的基础概念及其核心组件,并通过一个简单的示例展示了如何使用JUNG2创建和操作图...
开源项目-jung-kurt-gofpdf.zip是一个包含Gofpdf库源代码的压缩包,它是一个用Go语言编写的PDF生成器,具有无依赖性的特点。这意味着你可以直接在你的Go项目中使用它,无需安装其他外部库或工具,简化了项目的构建和...
java的复杂网络作图工具包JUNG简明教程,Java Universal Network/Graph Framework,提供有向图,无向图,混合网络,以及各种展现接口,只要不是绘制特别巨大的图,效果可以。
Java开源网络分析工具,功能强大,算法齐全,可视化支持良好
JUNG的设计和实现考虑到了灵活性和可扩展性,这使得开发者能够轻松地自定义和扩展JUNG的功能。例如,可以通过继承现有的类或接口来创建新的图类型和算法实现。 ##### 3. 应用案例 - **社交网络分析**:通过分析用户...
本文以德国JUNG磨床的电气改造为例,详细探讨了利用三菱PLC对其电气系统进行改造的过程、方法和效果。 1. JUNG磨床概述 JUNG磨床是一种精密加工设备,主要用于金属和塑胶模具的精磨加工。其工作原理是利用砂轮的...
标题中提到的"jung-algorithms-201-modified-sources"是JUNG算法库2.0.1的一个修改版,其主要特色在于开发者对原版源代码进行了一些优化和调整,以满足特定需求或提升性能。这个修改版的源代码为我们提供了一个深入...