jung 自定义顶点形状或图片

阅读: 评论:0

jung 自定义顶点形状或图片

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) {
Rectangle(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);

本文发布于:2024-01-30 19:43:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661500622378.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:自定义   顶点   形状   图片   jung
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23