mxgraph入门 之 mxcell的操作方法

上回说到ExtJs与mxgraph的结合,掌握这些后,我们便可以说说怎么操作mxcell

1.首先,神马是mxcell:根据mxgraph的js部分的API,我们得知,mxCell就是在图中那些顶点和边的组合,也就是流程图中的图标和连线之类的。这些mxcell需要画在一个面板中,这个面板叫做mxgraph:


<div id = "lala"></div>
**********************上面是html文档,下面是js文档*******************
container = document.getElementById('lala');
var model = new mxGraphModel();
var graph = new mxGraph(container, model);


2.如何创建mxcell:


var cell = new mxCell(value, geometry, style );
graph.addCell(cell);

value:cell的值(可显示在cell上)
geometry:可选几何形状(new mxGeometry(0, 0, w, h))
style:风格样式
3.更改mxcell的样式(style):

style[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_IMAGE;
style[mxConstants.STYLE_PERIMETER] = mxPerimeter.RectanglePerimeter;
style[mxConstants.STYLE_IMAGE] = 'editors/images/bigicon/start_event_empty.png';
style[mxConstants.STYLE_IMAGE_WIDTH] = '48';
style[mxConstants.STYLE_IMAGE_HEIGHT] = '48';
style[mxConstants.STYLE_FONTCOLOR] = '#000000';
style[mxConstants.STYLE_VERTICAL_LABEL_POSITION] = mxConstants.ALIGN_CENTER;
graph.getStylesheet().putCellStyle('start', style);

start即为样式名称,填入new mxCell(null,new mxGeometry(0, 0, w, h),"start");其中若不想修改样式,mxgraph提供了默认的几种样式,有style=triangle、style=cloud 等
4.选择mxcell

var cell = graph.getSelectionCell();

5.删除mxcell

cell.removeFromParent();//删除了此cell
graph.refresh(cell);//刷新面板graph,必须写,否则不会看到cell的删除效果

6.几种形式的mxcell
1>根据API得知,一个XML的节点就是一个cell
var doc = mxUtils.createXmlDocument();
var node = doc.createElement('MyNode');
2>new mxCell(value, geometry, style );
3>
var parent = graph.getDefaultParent();
var v1 = graph.insertVertex(parent, null, 'Hello', 20, 80, 80, 30);
var e1 = graph.insertEdge(parent, null, '', v12, v3);
一个顶点或一条边也是一个mxcell。
****************************失恋挣扎的分割线************************
我神马都懂,但你在我死心前得把我想了却的心愿都了却完。我也不想带着遗憾永远不开始未来
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mxGraph 是一个基于 JavaScript 的开源图形绘制框架,可以用于创建各种类型的图形,包括流程图、组织结构图、UML 图、网络拓扑图等。 下面是一个简单的 mxGraph 入门示例: 1. 在 HTML 文件中引入 mxGraph 的 JavaScript 文件: ```html <!DOCTYPE html> <html> <head> <title>mxGraph Demo</title> <script src="https://unpkg.com/mxgraph@4.1.0/dist/mxgraph.js"></script> </head> <body> <div id="graphContainer" style="width:400px;height:300px;"></div> <script> // 在这里编写绘图代码 </script> </body> </html> ``` 2. 在 JavaScript 代码中创建一个 mxGraph 实例: ```javascript var container = document.getElementById('graphContainer'); var graph = new mxGraph(container); ``` 3. 创建图形元素: ```javascript // 创建一个矩形 var rect = new mxCell('Rectangle', new mxGeometry(0, 0, 80, 40), 'shape=rectangle'); rect.vertex = true; // 添加矩形到图形中 graph.getModel().beginUpdate(); try { graph.addCell(rect); } finally { graph.getModel().endUpdate(); } ``` 4. 连接两个图形元素: ```javascript // 创建两个矩形 var rect1 = new mxCell('Rectangle 1', new mxGeometry(0, 0, 80, 40), 'shape=rectangle'); var rect2 = new mxCell('Rectangle 2', new mxGeometry(0, 0, 80, 40), 'shape=rectangle'); rect1.vertex = true; rect2.vertex = true; // 添加矩形到图形中 graph.getModel().beginUpdate(); try { var parent = graph.getDefaultParent(); graph.addCell(rect1, parent); graph.addCell(rect2, parent); // 连接两个矩形 var edge = graph.insertEdge(parent, null, '', rect1, rect2); } finally { graph.getModel().endUpdate(); } ``` 以上示例只是 mxGraph 的基本用法,mxGraph 还提供了丰富的 API,可以实现更多功能。你可以查看官方文档来了解更多信息:https://jgraph.github.io/mxgraph/docs/js-api/files/index-txt.html

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值