`
ljjclub
  • 浏览: 35262 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jung 自定义顶点形状或图片

阅读更多
可以变为三角形,正方形,多边形。。
只需将 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);

1
1
分享到:
评论

相关推荐

    jung-jung-2.1.1

    JUNG提供了数据绑定机制,允许用户将自定义数据对象与图的顶点和边关联,这在处理带权重或属性的图时非常有用。 7. **I/O支持**: JUNG支持多种图格式的导入和导出,如GraphML、GML、DOT等,便于数据交换和存储。...

    jung中文教程+示例源码+jar包+API帮助文档

    jung中文教程(read me first) jung jar包 jung API帮助文档 jung示例源码 源码内容包括: 1.创建图的数据结构 ...4.自定义顶点、边的数据类型 5.从文件中读入图 6.关于图的应用算法 7.可视化人机交互 等等

    jung中文教程+示例源码+jar包

    jung中文教程(read me first) jung jar包 jung示例源码 源码内容包括: 1.创建图的数据结构 2.图的可视化表现 ...4.自定义顶点、边的数据类型 5.从文件中读入图 6.关于图的应用算法 7.可视化人机交互 等等

    jung API 帮助文档

    JUNG有一个活跃的开发者社区,提供了论坛、邮件列表和问题跟踪系统,用户可以在这里寻求帮助、报告问题或贡献代码。 总之,JUNG API 是一个强大且灵活的框架,无论你是要进行学术研究、数据分析还是开发应用程序,...

    JUNG:Java平台网络/图应用开发的一种通用基础架构

    JUNG,全称为Java Universal Network/Graph framework,是一个开源的Java项目,专门用于构建和分析图或网络结构的应用程序。它提供了丰富的功能,包括创建图的数据结构、应用经典算法、自定义算法以及图形化展示数据...

    JUNG 入门编程

    网络是由节点(或顶点)和边组成的,可以用来表示各种复杂的关系,如社交网络、交通网络或生物网络。图则是数学中的一个抽象概念,由顶点和连接顶点的边构成。JUNG支持多种图类型,包括无向图、有向图、加权图等。 ...

    jung2-2_0_1jar包

    《JUNG:Java平台上的网络与图应用开发详解》 JUNG,全称为Java Universal Network/Graph Framework,是一个强大的开源库,专为在Java平台上进行网络和图的应用开发设计。标题中的"jung2-2_0_1jar包"指的是JUNG库的...

    jung2-alpha2源代码

    `jung-graph-impl-2.0-alpha2-sources.jar`包含具体实现,如`UndirectedGraph`和`DirectedGraph`,它们提供了添加、删除和查询边与顶点的方法,以及检查图的连通性等特性。 2. **可视化工具**:JUNG的强大之处在于...

    JUNG2-Tutorial

    JUNG2允许开发者轻松地操作图结构,例如添加和删除顶点与边、查询图中是否存在特定的顶点或边等。 #### 四、总结 本教程介绍了JUNG2的基础概念及其核心组件,并通过一个简单的示例展示了如何使用JUNG2创建和操作图...

    开源项目-jung-kurt-gofpdf.zip

    开源项目-jung-kurt-gofpdf.zip是一个包含Gofpdf库源代码的压缩包,它是一个用Go语言编写的PDF生成器,具有无依赖性的特点。这意味着你可以直接在你的Go项目中使用它,无需安装其他外部库或工具,简化了项目的构建和...

    JUNG,Java的第三方API 用来实现图的可视化

    java的复杂网络作图工具包JUNG简明教程,Java Universal Network/Graph Framework,提供有向图,无向图,混合网络,以及各种展现接口,只要不是绘制特别巨大的图,效果可以。

    Jung网络分析

    Java开源网络分析工具,功能强大,算法齐全,可视化支持良好

    Java开源,用于画图 pdf

    JUNG的设计和实现考虑到了灵活性和可扩展性,这使得开发者能够轻松地自定义和扩展JUNG的功能。例如,可以通过继承现有的类或接口来创建新的图类型和算法实现。 ##### 3. 应用案例 - **社交网络分析**:通过分析用户...

    基于PLC的德国JUNG磨床改造应用.pdf

    本文以德国JUNG磨床的电气改造为例,详细探讨了利用三菱PLC对其电气系统进行改造的过程、方法和效果。 1. JUNG磨床概述 JUNG磨床是一种精密加工设备,主要用于金属和塑胶模具的精磨加工。其工作原理是利用砂轮的...

    jung-algorithms-201-modified-sources:进行了一些小修改的jung-algorithms-2.0.1项目的源代码-Source code modification

    标题中提到的"jung-algorithms-201-modified-sources"是JUNG算法库2.0.1的一个修改版,其主要特色在于开发者对原版源代码进行了一些优化和调整,以满足特定需求或提升性能。这个修改版的源代码为我们提供了一个深入...

Global site tag (gtag.js) - Google Analytics