2. 引入js文件,引入jtopo之前引入jQuery

3. JTopo Demo -- 圆形布局

步骤:  获取canvas ——> 创建stage ——> 创建scene添加的stage ——> 创建节点添加到scene

$(document).ready(function(){var canvas = document.getElementById(‘canvas‘);var stage = newJTopo.Stage(canvas);//显示工具栏

showJTopoToobar(stage);var scene = newJTopo.Scene();

stage.add(scene);

scene.background= ‘./img/bg.jpg‘;var cloudNode = new JTopo.Node(‘root‘);

cloudNode.setSize(30, 26);

cloudNode.setLocation(360,230);

cloudNode.layout= {type: ‘circle‘, radius: 150};

scene.add(cloudNode);for(var i=1; i<4; i++){var node = new JTopo.CircleNode(‘host‘ +i);

node.fillStyle= ‘200,255,0‘;

node.radius= 15;

node.setLocation(scene.width* Math.random(), scene.height *Math.random());

node.layout= {type: ‘circle‘, radius: 80};

scene.add(node);var link = newJTopo.Link(cloudNode, node);

scene.add(link);for(var j=0; j<6; j++){var vmNode = new JTopo.CircleNode(‘vm-‘ + i + ‘-‘ +j);

vmNode.radius= 10;

vmNode.fillStyle= ‘255,255,0‘;

vmNode.setLocation(scene.width* Math.random(), scene.height *Math.random());

scene.add(vmNode);

scene.add(newJTopo.Link(node, vmNode));

}

}

JTopo.layout.layoutNode(scene, cloudNode,true);

scene.addEventListener(‘mouseup‘, function(e){if(e.target &&e.target.layout){

JTopo.layout.layoutNode(scene, e.target,true);

}

});

});

4. 总结的问题:

1. 关于node的layout,目前我知道有 tree,circle 两种,用法如下:

node.layout = {type: ‘tree‘, direction: direction, width: 180, height: 80};

2. 关于container,也就是分组容器。container需要添加到scene中,container中添加node,需要将node添加到container以及scene中。例子如下:

varstage;

$(document).ready(function(){var canvas = document.getElementById(‘canvas‘);

stage= newJTopo.Stage(canvas);//显示工具栏

showJTopoToobar(stage);var scene = newJTopo.Scene();

scene.background= ‘./img/bg.jpg‘;

stage.add(scene);//不指定布局的时候,容器的布局为自动(容器边界随元素变化)

var container = new JTopo.Container(‘边界自动变化‘);

container.textPosition= ‘Middle_Center‘;

container.fontColor= ‘100,255,0‘;

container.font= ‘18pt 微软雅黑‘;

container.borderColor= ‘255,0,0‘;

container.borderRadius= 30; //圆角

scene.add(container);for(var i=0; i<5; i++){var node = new JTopo.Node("A_"+i);

node.textPosition= "Middle_Center";

node.setLocation(300+ Math.random() * 300, 200+ Math.random() * 200);

scene.add(node);

container.add(node);

}

scene.add(new JTopo.Link(container.childs[0], container.childs[1]));

scene.add(new JTopo.Link(container.childs[2], container.childs[3]));//流式布局(水平、垂直间隔均为10)

var flowLayout = JTopo.layout.FlowLayout(10, 10);//网格布局(4行3列)

var gridLayout = JTopo.layout.GridLayout(4, 3);var container2 = new JTopo.Container(‘点击切换布局‘);

container2.layout=flowLayout;

container2.fillColor= ‘10,10,100‘;

container2.setBound(10, 10, 300, 200);

scene.add(container2);for(var i=0; i<12; i++){var node = new JTopo.Node("F_" +i);

node.textPosition= "Middle_Center";

scene.add(node);

container2.add(node);

}

container2.click(function(){if(container2.layout ===flowLayout){

container2.layout=gridLayout;

}else{

container2.layout=flowLayout;

}

});

});

View Code

3.关于link的样式:

简单连线

Link

折线

FoldLink

二次折线

FlexionalLink

曲线

CurveLink

还在探索中,持续更新。。。

jtopo node.text换行_JTopo 使用相关推荐

  1. jtopo node.text换行_求助:jtopo node文字换行问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在jtopo 生成前,粘贴以下代码 CanvasRenderingContext2D.prototype.wrapText = function(str, ...

  2. jtopo 告警 Alarm 换行 demo

    源码来自 jtopo交流群(171820448) 中的大神:我不是作者只是咖啡爱好者(616487222).原博客名:dark var canvas = document.getElementById ...

  3. 微信小程序view、text换行

    微信小程序之view,text换行 view换行:white-space:pre-line; text换行:word-break:break-all; 非学,无以致疑:非问,无以广识

  4. svg text换行_5分钟看懂SVG反爬虫原理与绕过实战 | 知了干货分享

    SVG反爬虫不同于字体反爬虫,它巧妙的利用css 与 svg的关系,将字符映射到网页中,看起来虽然正常,但是却抓取不到有效内容.本文带你深入浅出,破了SVG反爬虫的套路,学会之后,可应用于某点评网. ...

  5. react native text换行_基于React+Koa实现React SSR服务端渲染

    React Server-Side Rendering 其实这个概念很早之前就有了解了,出于没有应用场景原因,之前一直都只停留在了解API的层面,未曾去实践.快到周末闲来无事,自己复盘了下之前做的新商 ...

  6. 微信公众号消息text换行问题

    首先确定微信上消息文本换行是采用 \n 换行的. 错误做法: 推送到公众号的消息文本采用的是单引号包含内容.这样是不行的,不会换行,会原样返回 [php] view plaincopy print? ...

  7. SWT之Text换行

    之前也用过很多次Text,但是一直没有注意过这个问题,最近突然来了一个需求,Text要支持换行,也没考虑过这个问题,以为用的时候直接new一个出来就支持换行的,但是,没想到默认是不支持换行的,问了一大 ...

  8. php mysql text换行符_请教php配合mysql的换行符和空格字符问题

    你的位置: 问答吧 -> PHP -> 问题详情 请教php配合mysql的换行符和空格字符问题 我通过form表单的text框把一大段文字,使用php写道了mysql的数据库中. 这段文 ...

  9. 中文里带半角空格导致的Text换行问题[Unity]

    0x01 问题 最近策划反映了个问题,游戏里的多行文本会出现提前换行的问题,如下图所示: 文本错误地提前换行,导致第一行文本后面有大块空白区域 通过观察可以发现,当字符串中带有半角空格,且半角空格后面 ...

  10. 解决小程序text换行的问题

    text{ word-break: keep-all; word-wrap: break-word; }

最新文章

  1. CodeGen用户定义的扩展令牌
  2. 10_史上最全的Markdown使用教程(没有之一)(20190115)
  3. jquery同步请求
  4. matlab rbf函数_基于径向基函数(RBF)的无网格伪谱法与程序实现(2)——微分矩阵...
  5. 深度探索C++ 对象模型(4)-Default Copy Constructor(3)
  6. C语言数组清空的几种方法比较
  7. ASP.NET2.0中控件的简单异步回调
  8. jmeter验证WEB页面的href链接请求
  9. js在html中加文字走马灯特效,jQuery简单的文字跑马灯特效
  10. docker网络基础配置
  11. awk '/#BEGIN/,/#END/{next}1' 1是什么意思?-转
  12. 如何将图例排除在情节之外
  13. c#代码片段新建(sinppet)
  14. dojo mobile问题汇总
  15. java 高级api_Java常用API-高级
  16. Inspinia的version 2.4模板使用的谷歌字体加载很慢问题解决
  17. 基于STM32F4系列 之 霍尔编码器减速直流电机
  18. power bi数据分析_设置Power BI数据网关
  19. 如何用photoshop做24色环_PS色相环制作方法和教程
  20. ch330N折腾记录

热门文章

  1. Windows phone 7中关于Zune软件使用几个问题
  2. ​三类互联网创业方式
  3. 盘点10种局域网联机游戏
  4. 电阻电容电感PCB封装真实尺寸大小
  5. StretchDIBits函数
  6. 人物故事 | 回顾美人建筑师,致世界建筑日
  7. acdsee免费版跳过注册账户_加快Win 10启动速度,直接跳过锁屏登录界面
  8. GeoTools操作shapefile
  9. python 报童模型
  10. 记录一个扫描二维码报错问题