mxgraph的学习笔记.docx
- 文档编号:9702209
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:23
- 大小:90.17KB
mxgraph的学习笔记.docx
《mxgraph的学习笔记.docx》由会员分享,可在线阅读,更多相关《mxgraph的学习笔记.docx(23页珍藏版)》请在冰豆网上搜索。
mxgraph的学习笔记
目录
阅读有关说明4
常见变量、类及方法:
11
com.mxgraph.analysis包:
12
此包为图的分析提供了各种算法,例如最短路径和最小生成树12
com.mxgraph.canvas包:
12
此包包含了使用不同技术绘制graph的各种工具,例如:
graphics2D、html、SVG、VML等12
com.mxgraph.io包12
此包包含了输入输出所用到的所有类12
com.mxgraph.layout包12
此包包含各种graph的布局12
com.mxgraph.layout.hierarchical13
com.mxgraph.layout.hierarchical.model13
com.mxgraph.layout.hierarchical.stage13
com.mxgraph.layout.orthogonal13
com.mxgraph.layout.orthogonal.model13
*com.mxgraph.model包:
13
此包包含定义graphmodel的各个类13
*com.mxgraph.model中mxCell类:
13
*com.mxgraph.model中mxcellpath类:
13
*com.mxgraph.model中mxGeometry类:
14
*com.mxgraph.model中mxGraphModel类:
14
*com.mxgraph.model中mxIgraphmodel接口:
14
*com.mxgraph.model包中mxIGraphModel.mxAtomicGraphModelChange类:
16
*com.mxgraph.model包中mxIcell接口:
16
*com.mxgraph.model包中mxIcell接口:
16
com.mxgraph.reader包17
此包包含的类有如下功能:
使用SAX将一个编码过的mxGraphView转化为一个image,并且此过程不用创造一个graphmodel17
com.mxgraph.sharing17
这个软件包包含了由多个客户端并发图编辑所需的所有类。
17
com.mxgraph.swing包:
17
com.mxgraph.swing.handler包:
17
Classes17
com.mxgraph.swing.util包:
18
com.mxgraph.swing.view包:
18
com.mxgraph.util包:
19
com.mxgraph.view包:
19
Mxcellstate类:
20
有关label的问题:
20
jgraphx
.......\build.xml
.......\docs
.......\....\allclasses-frame.html
.......\....\allclasses-noframe.html
.......\....\com
.......\....\...\mxgraph
.......\....\...\.......\algebra
.......\....\...\.......\.......\class-use
.......\....\...\.......\.......\.........\mxConstantCostFunction.html
.......\....\...\.......\.......\.........\mxDistanceCostFunction.html
.......\....\...\.......\.......\.........\mxFibonacciHeap.html
.......\....\...\.......\.......\.........\mxFibonacciHeap.Node.html
.......\....\...\.......\.......\.........\mxGraphAlgebra.html
.......\....\...\.......\.......\.........\mxICostFunction.html
.......\....\...\.......\.......\.........\mxUnionFind.html
.......\....\...\.......\.......\.........\mxUnionFind.Node.html
.......\....\...\.......\.......\mxConstantCostFunction.html
.......\....\...\.......\.......\mxDistanceCostFunction.html
.......\....\...\.......\.......\mxFibonacciHeap.html
.......\....\...\.......\.......\mxFibonacciHeap.Node.html
.......\....\...\.......\.......\mxGraphAlgebra.html
.......\....\...\.......\.......\mxICostFunction.html
.......\....\...\.......\.......\mxUnionFind.html
.......\....\...\.......\.......\mxUnionFind.Node.html
.......\....\...\.......\.......\package-frame.html
.......\....\...\.......\.......\package-summary.html
.......\....\...\.......\.......\package-tree.html
.......\....\...\.......\.......\package-use.html
.......\....\...\.......\canvas
.......\....\...\.......\......\class-use
.......\....\...\.......\......\.........\mxBasicCanvas.html
.......\....\...\.......\......\.........\mxGraphics2DCanvas.html
.......\....\...\.......\......\.........\mxHtmlCanvas.html
.......\....\...\.......\......\.........\mxICanvas.html
.......\....\...\.......\......\.........\mxImageCanvas.html
.......\....\...\.......\......\.........\mxSvgCanvas.html
.......\....\...\.......\......\.........\mxVmlCanvas.html
.......\....\...\.......\......\mxBasicCanvas.html
.......\....\...\.......\......\mxGraphics2DCanvas.html
.......\....\...\.......\......\mxHtmlCanvas.html
.......\....\...\.......\......\mxICanvas.html
.......\....\...\.......\......\mxImageCanvas.html
.......\....\...\.......\......\mxSvgCanvas.html
.......\....\...\.......\......\mxVmlCanvas.html
.......\....\...\.......\......\package-frame.html
.......\....\...\.......\......\package-summary.html
.......\....\...\.......\......\package-tree.html
.......\....\...\.......\......\package-use.html
.......\....\...\.......\io
.......\....\...\.......\..\class-use
.......\....\...\.......\..\.........\mxCellCodec.html
.......\....\...\.......\..\.........\mxCodec.html
.......\....\...\.......\..\.........\mxCodecRegistry.html
.......\....\...\.......\..\.........\mxModelCodec.html
.......\....\...\.......\..\.........\mxObjectCodec.html
.......\....\...\.......\..\.........\mxStylesheetCodec.html
.......\....\...\.......\..\mxCellCodec.html
.......\....\...\.......\..\mxCodec.html
.......\....\...\.......\..\mxCodecRegistry.html
.......\....\...\.......\..\mxModelCodec.html
.......\....\...\.......\..\mxObjectCodec.html
.......\....\...\.......\..\mxStylesheetCodec.html
.......\....\...\.......\..\package-frame.html
.......\....\...\.......\..\package-summary.html
.......\....\...\.......\..\package-tree.html
.......\....\...\.......\..\package-use.html
.......\....\...\.......\layout
.......\....\...\.......\......\class-use
.......\....\...\.......\......\.........\mxCircleLayout.html
.......\....\...\.......\......\.........\mxGraphLayout.html
.......\....\...\.......\......\.........\mxIGraphLayout.html
.......\....\...\.......\......\.........\mxPartitionLayout.html
.......\....\...\.......\......\.........\mxStackLayout.html
.......\....\...\.......\......\mxCircleLayout.html
.......\....\...\.......\......\mxGraphLayout.html
.......\....\...\.......\......\mxIGraphLayout.html
.......\....\...\.......\......\mxPartitionLayout.html
.......\....\...\.......\......\mxStackLayout.html
.......\....\...\.......\......\package-frame.html
.......\....\...\.......\......\package-summary.html
.......\....\...\.......\......\package-tree.html
.......\....\...\.......\......\package-use.html
.......\....\...\.......\model
.......\....\...\.......\.....\class-use
.......\....\...\.......\.....\.........\mxCell.html
.......\....\...\.......\.....\.........\mxCellPath.html
.......\....\...\.......\.....\.........\mxGeometry.html
.......\....\...\.......\.....\.........\mxGraphModel.Filter.html
.......\....\...\.......\.....\.........\mxGraphModel.html
.......\....\...\.......\.....\.........\mxGraphModel.mxChildChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxCollapseChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxGeometryChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxRootChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxStyleChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxTerminalChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxValueChange.html
.......\....\...\.......\.....\.........\mxGraphModel.mxVisibleChange.html
.......\....\...\.......\.....\.........\mxICell.html
阅读有关说明
.......\....\...\.......\.....\.........\mxIGraphModel.html虽然许多主要API是通过mxGraph类调用,记住mxGraphModel是存储您的图形数据结构的根本对象。
mxCell复制了model的许多方法,使用它们的主要不同在于:
利用model的方法创建适当的事件通知和撤消;利用cell使其变化但不记录变化。
也就是说你要用model来了编辑API,除非你遇到了这个机制的具体问题。
当你创建一个新的cell时候,有三个部分需要来构造:
value、geometry和style;
mxStyleSheet:
类似于css样式表
1.Anewstylecalled'ROUNDED'hasbeencreated,toapplythistoavertex:
Objectv1=graph.insertVertex(parent,null,"Hello",20,20,80,30,"ROUNDED");
2.TocreateanewvertexwiththeROUNDEDstyle,overridingthestrokeandfillcolors:
Objectv1=graph.insertVertex(parent,null,"Hello",20,20,80,30,"ROUNDED;strokeColor=red;fillColor=green");
3.Tocreateanewvertexwithnoglobalstyle,butwithlocalstrokeandfillcolors:
Objectv1=graph.insertVertex(parent,null,"Hello",20,20,80,30,";strokeColor=red;fillColor=green");
4.TocreateavertexthatusesthedefaultVertexstyle,butalocalvalueofthefillcolor:
Objectv1=graph.insertVertex(parent,null,"Hello",20,20,80,30,"defaultVertex;fillColor=blue");
∙mxGraph.setCellStyle(style,cells)–Setsthestyleforthearrayofcells,encapsulatedinabegin/endupdate.
∙mxGraph.getCellStyle(cell)–Returnsthestyleforthespecifiedcell,mergingthestylesfromanylocalstyleandthedefaultstyleforthatcelltype.、
一、坐标在无关位置中:
如上是节点中x与y的意思:
child相对于parent的x和y
Non-relativeedgelabelpositioning
如上是边中坐标的意思:
在其label的左上角
二、坐标在相关位置中
Relativevertexpositions
对于相对模式的顶点,第(x,y)是沿着父辈细胞的(宽度的比例,高)在细胞的来源所在。
(0,0)是与父同根同源,(1,1)置于父右下角的起源。
同样的相对定位扩展低于0及以上两个方面1。
这个定位是非常有用的儿童细胞保持相对固定的整体父单元尺寸。
最后,在相对模式标签palced优势的基础上,从边缘的中心位置。
的x坐标是从边缘源端的相对距离为-1,到边的目标年底,1。
在y协调是偏离正交边缘的像素。
下图显示的x值,y对于不同模式相对优势的标签。
请注意,对于一个直边,计算简单。
对于那些有多个控制点的边缘,边缘要追溯到沿段(1段是六月底的点和线/或控制点)找到正确沿着边缘的距离。
在y值是正交偏移的部分。
交换相对定位上是一个应用程序中常见的偏好边缘标签。
导航到mxGraph.insertEdge()在mxGraph方法,您会看到此呼吁createEdge()。
在createEdge()的几何设置为每条边的相对创建使用这个原型。
这部分是用于辅助方法mxGraph数额,他们可以轻松实现的默认的行为发生变化。
你应该尝试使用尽可能地提供给你的应用有利于mxGraph类API。
在mxgeometry中的偏移量是相对于cell中label而言的,至于edgelabel的情况,偏移量总是设在label计算之后。
CoreAPImethods:
∙mxGraph.resizeCell(cell,bounds)–Resizesthespecifiedcelltothespecifiedbounds,withinabegin/endupdatecall.
∙mxGraph.resizeCells(cells,bounds)–Resizeseachofthecellsinthecellsarraytothecorrespondingentryintheboundsarray,withinabegin/endupdatecall.
*用户对象是给JGraphx图表一个上下文,它用一个可见的cell存储业务逻辑;在HelloWorld例子中用户对象只是一个string——字符串,这个例子中它只是代表cell将要展示的label;而在一些更复杂的应用中,这些用户对象将是真正的对象,
这些属性显示的几何形状,标签,身份证等,但一个对话框,可以很容易地显示细胞的用户对象。
可能有一些在工作流引擎进程的职权如何存货的实际检查。
这可能是一个应用程序在服务器和客户端具体机制,指定某种识别的远程方法调用。
另一个值可能是对象的类型程序产生的,也许一个布尔值或整数表明股市在这种情况下的水平。
由于返回类型,可以强制执行图的限制,并提供可视化的警报,如果说,即将离任的边缘检查的决定不符合的顶点的返回类型。
即将离任的边缘用户对象可能包含一个标签和一个布尔状态。
同样,JGraphX的编辑提供的手段来改变布尔值。
在执行的过程中,它可能会按照边对应于布尔值的决策节点返回。
请记住,上面的例子很具体的领域,它的存在说明了用户对象映射到应用程序的业务逻辑。
它可视化创造如何JGraphX我们称之为背景图。
当前的情况是由顶点之间的业务逻辑的连接形成存储在用户对象。
一个典型的应用程序收到的视觉和业务逻辑从断绝,可允许两个编辑,然后传送两回的持久性和/或执行服务器。
Thegroupstructureofthehelloworldexample
Thelogicalgroupstructureoftheworkflowexample
*就像我们描述的那样,mxgraph使我们用该library的主要API,对于cell也是这样
*在mxcell类中存在两个布尔类型的flag:
vertex和edge;当一个cell背创建之后一些辅助方法会将它们之中的一个设置为true;model使用mxIGraphModel中的isvertex()和isedge()方法来决定一个cell的类型;
*在mxgraph类中向groupstructure插入cells可以通过使用insertvertex()和insertedge()中parents的参数设置得以实现
*而我们通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mxgraph 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)