首页 mxgraph的学习笔记(2)

mxgraph的学习笔记(2)

举报
开通vip

mxgraph的学习笔记(2)目录阅读有关说明常见变量、类及方法:com.mxgraph.analysis包:此包为图的分析提供了各种算法,例如最短路径和最小生成树com.mxgraph.canvas包:此包包含了使用不同技术绘制graph的各种工具,例如:graphics2D、html、SVG、VML等com.mxgraph.io包此包包含了输入输出所用到的所有类com.mxgraph.layout包此包包含各种graph的布局com.mxgraph.layout.hierarchicalcom.mxgraph.layout.hierarch...

mxgraph的学习笔记(2)
目录阅读有关说明常见变量、类及 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 :com.mxgraph.analysis包:此包为图的分析提供了各种算法,例如最短路径和最小生成树com.mxgraph.canvas包:此包包含了使用不同技术绘制graph的各种工具,例如:graphics2D、html、SVG、VML等com.mxgraph.io包此包包含了输入输出所用到的所有类com.mxgraph.layout包此包包含各种graph的布局com.mxgraph.layout.hierarchicalcom.mxgraph.layout.hierarchical.modelcom.mxgraph.layout.hierarchical.stagecom.mxgraph.layout.orthogonalcom.mxgraph.layout.orthogonal.model*com.mxgraph.model包:此包包含定义graphmodel的各个类*com.mxgraph.model中mxCell类:*com.mxgraph.model中mxcellpath类:*com.mxgraph.model中mxGeometry类:*com.mxgraph.model中mxGraphModel类:*com.mxgraph.model中mxIgraphmodel接口:*com.mxgraph.model包中mxIGraphModel.mxAtomicGraphModelChange类:*com.mxgraph.model包中mxIcell接口:*com.mxgraph.model包中mxIcell接口:com.mxgraph.reader包此包包含的类有如下功能:使用SAX将一个编码过的mxGraphView转化为一个image,并且此过程不用创造一个graphmodelcom.mxgraph.sharing这个软件包包含了由多个客户端并发图编辑所需的所有类。com.mxgraph.swing包:com.mxgraph.swing.handler包:Classescom.mxgraph.swing.util包:com.mxgraph.swing.view包:com.mxgraph.util包:com.mxgraph.view包:Mxcellstate类:有关label的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :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和yNon-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我们称之为背景图。当前的情况是由顶点之间的业务逻辑的连接形成存储在用户对象。一个典型的应用程序收到的视觉和业务逻辑从断绝,可允许两个编辑,然后传送两回的持久性和/或执行服务器。ThegroupstructureofthehelloworldexampleThelogicalgroupstructureoftheworkflowexample*就像我们描述的那样,mxgraph使我们用该library的主要API,对于cell也是这样*在mxcell类中存在两个布尔类型的flag:vertex和edge;当一个cell背创建之后一些辅助方法会将它们之中的一个设置为true;model使用mxIGraphModel中的isvertex()和isedge()方法来决定一个cell的类型;*在mxgraph类中向groupstructure插入cells可以通过使用insertvertex()和insertedge()中parents的参数设置得以实现*而我们通过mxGraph.groupCells()和mxGraph.ungroupCells()方法来改变groupstructureCoreAPImethods:∙mxGraph.groupCells(group,border,cells)–Addsthespecifiedcellstothespecifiedgroup,withinabegin/endupdate∙mxGraph.ungroupCells(cells)–Removesthespecifiedcellsfromtheirparentandaddsthemtotheirparent'sparent.Anygroupemptyaftertheoperationaredeleted.Theoperationoccurswithinabegin/endupdate.*Folding(折叠)我们使用折叠去扩展(expanding)和缩小(collapsing),我们认为一个cell将通过设置其子节点为不可见的方式来折叠自己CoreAPImethod:∙mxGraph.foldCells(collapse,recurse,cells)–Statesthecollapsedstateofthespecificedcells,withinabegin/endupdate.∙Foldingrelatedmethods:∙mxGraph.isCellFoldable(cell,collapse)–Bydefaulttrueforcellswithchildren.∙mxGraph.isCellCollapsed(cell)–Returnsthefoldedstateofthecell*当一个groupcell被collapse之后,会发生三件事儿:一、它的子节点会变为不可见∙二、这个groupcell的groupbounds被使用,Thegroupboundsofthegroupcellisused.WithinmxGeometrythereisaalternativeBoundsfieldandingroupscells,bydefaultstoreaseparateboundsfortheircollapsedandexpandedstates.TheswitchbetweentheseinstancesisinvokedbymxGraph.swapBounds()andthisishandledforyouwithinafoldCells()call.Thisallowscollapsedgroupstoberesizedwhilstwhenexpandedagainthesizelookscorrectusingthepre-collapsedsize.三、边的提升。边提升的意思是将与collapsed后的group相连的子节点所使用的边与collapsed后的parents相连以使其显现。∙ExpandedswimlaneCollapsedSwimlane注意:使用mxGraph.foldCells()函数,你可以得到与使用群组左上角“”“-”符号相同的效果。2.2.5.2Sub-Graphs,Drill-Down/Step-Up*有时候,作为一种expand或collapse的一种选择,或者用其来做图形整合,你的图形有可能由多个graphs组成,并嵌套成一个层次结构。*鼠标右键中的entergroup将会调用mxGraph.enterGroup(cell),而该方法是sub-graphs(子图)的核心API方法之一。CoreAPImethods:∙mxGraph.enterGroup(cell)–Makesthespecifiedcellthenewrootofthedisplayarea.∙mxGraph.exitGroup()-Makestheparentofthecurrentrootcell,ifany,thenewrootcell.∙mxGraph.home()-Exitsallgroups,makingthedefaultparenttherootcell.2.2.5.3LayeringandFiltering(层次和过滤)不同的节点有不同的层次:Overlappedvertices要改变层次我们用方法:mxGraph.orderCells()CoreAPImethod:∙mxGraph.orderCells(back,cells)–Movesthearrayofcellstothefrontorbackoftheirsiblings,dependingontheflag,withinabegin/endupdate.(将某cell的层次顺序置于其同胞(同parents)cell之前或之后)常见变量、类及方法:DefaultParent:指定用来插入cell的初始parents,通常在getdefaultParent()中使用;在此default是空的意思MxGraph类:主要类,用来插入节点、边等;如addcells,removecells,insertvertex,getcellbounds,getedge,findtreeroots等Mximodel类:处理mxgraph所需要的寻找节点、边,复制节点;得到父节点、子节点;得到边,看是否是边、节点;等操作MxGraphcomponent类:这个类是一个连接着内部mxgraphcontrol的scrollpane(滑动面板),其中的control包含着实际的graph展示,包含方法:getgraph,setgraph,getbackgroundimage,zoomin,zoomout(对面板的放大缩小)scrollCellToVisible(滑动graph使得cell可见),getcellat(在具体位置取得cell)等。Com.mxgraph.canvas包:包括了用不同技术来绘制graph的各种工具,如graph2D、html等Mxicanvas接口:定义了为绘制一个graph的vertics和edges而对canvas的需求Mxbasiccanvas:Mxgraphic2Dcanvas:canvas的一个用来绘制graphic2D图形的工具(其中包含矩形、圆柱体、云形等各种形状的定义及绘制!!)com.mxgraph.layout.hierarchical.model注:几个layout包中包含的是各种自动布局类,其中*.hierarchical.model类中定义了一个接口:mxGraphHierarchyModel.CellVisitor,该接口定义了在深度优先遍历(dfs)或其他遍历方法中图形信息的操作。com.mxgraph.analysis包:此包为图的分析提供了各种算法,例如最短路径和最小生成树com.mxgraph.canvas包:此包包含了使用不同技术绘制graph的各种工具,例如:graphics2D、html、SVG、VML等com.mxgraph.io包此包包含了输入输出所用到的所有类com.mxgraph.layout包此包包含各种graph的布局com.mxgraph.layout.hierarchicalcom.mxgraph.layout.hierarchical.modelcom.mxgraph.layout.hierarchical.stagecom.mxgraph.layout.orthogonalcom.mxgraph.layout.orthogonal.model*com.mxgraph.model包:此包包含定义graphmodel的各个类mxGraphmodel是描述graph的结构的核心 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 ,graph结构的修改、增加、删除通过graphmodelAPI发生,该model规定了一些方法去决定graph的结构,同时也提供了一些方法去设置可视化状态,例如visibility,grouping和style。然而,尽管对model的处理是存储在model类包中的,但JGraphx是这样设置的:主要的公共API是通过MxGraph类实现的。因为“向graph中添加cell”的说法比“向graph的model中添加cell”更自然、直观。使其更直观的是:在model和cells中的方法在graph中也有一份,而graph类中的方法被认为是主要的publicAPI。所以要记住:尽管许多主要的API是通过mxGraph类实现的,但mxGraphModel是存储你的graph数据结构的根本对象。*com.mxgraph.model中mxCell类:cells是graphmodel的元素。它们描述了一个graph中边、定点和群组的各种状态。边上的label的定义,其位置如何确定。*com.mxgraph.model中mxcellpath类:对临时的cell的ID实现了一种机制。其中的create()方法创建了所给cell的cellpath,即其在通往root的路径中所有cell的index的串联,如"0.0.0.1"*com.mxgraph.model中mxGeometry类:描述一个cell的geometry(几何形状),对节点来说,geometry包括x和y坐标还有width和height。对边来说,geometry或者定义边的起、终点,或者定义其终点位置。*com.mxgraph.model中mxGraphModel类:继承自mxEventSource以实现一个graphmodel。Graphmodel就像一个围绕着cell的包装,用来存储实际的graph的数据结构。Model就像一个处理事务的包装,对所有事件进行event通知。然而,cell拥有对数据结构更新的原始操作。层(layers):在model中的cell层必须有一个top-levelrootcell,它包含了layers(典型的是一个原始的layer),它们反过来又包含layers的top-levelrootcell,意思是说,每个cell必须在layer中包含着。如果不需要一个新的layer,那么,所有新的cell必须添加到原始(default)layer中去。对于隐藏和展示cell组(group)来说,layer是有用的。该类可处理cell与其孩子与父亲的关系。*com.mxgraph.model中mxIgraphmodel接口:可用于找出childrencell的数量、取得childcell等:getChildCount()、getEdgeAt()、getChildAt()等(mxGraphModel类实现了此接口!!!)mxGraphmodel是描述graph的结构的核心模板,graph结构的修改、增加、删除通过graphmodelAPI发生,该model规定了一些方法去决定graph的结构,同时也提供了一些方法去设置可视化状态,例如visibility,grouping和style。然而,尽管对model的处理是存储在model类包中的,但JGraphx是这样设置的:主要的公共API是通过MxGraph类实现的。因为“向graph中添加cell”的说法比“向graph的model中添加cell”更自然、直观。使其更直观的是:在model和cells中的方法在graph中也有一份,而graph类中的方法被认为是主要的publicAPI。所以要记住:尽管许多主要的API是通过mxGraph类实现的,但mxGraphModel是存储你的graph数据结构的根本对象!!!。Jgraph建立了一种机制去使得model改变//Addscellstothemodelinasinglestepgraph.getModel().beginUpdate();try{Objectv1=graph.addVertex(parent,null,"Hello,",20,20,80,30);Objectv2=graph.addVertex(parent,null,"World!",200,150,80,30);Objecte1=graph.addEdge(parent,null,"",v1,v2);}finally{//Updatesthedisplaygraph.getModel().endUpdate();}在上面,每次改变model,你都要先调用beginUpdate(),改变model后再调用endUpdate()以定下改变。相关主要方法:KeyAPIMethods:∙mxGraphModel.beginUpdate()-startsanewtransactionorasub-transaction.∙mxGraphModel.endUpdate()-completesatransactionorasub-transaction.∙mxGraph.addVertex()-Addsanewvertextothespecifiedparentcell.∙mxGraph.addEdge()-Addsanewedgetothespecifiedparentcell.需要指出的是,其实model会随着更新的范围马上发生改变,而没有必要调用beginUpdate()和endUpdate(),但为了避免小错误和个人习惯,最好用之。注:从beginUpdate()到endUpdate()是update范围。“Itisimportanttodistinguishbetweenfunctionalitythatactsonthegraphmodelaspartofacompoundchangeandfunctionalitythatreactstoatomicgraphchangeevents.Inthefirstcase,suchasforautomaticlayouting,thefunctionalitytakesthemodelas-isandactsuponit.Thismethodshouldonlybeusedforpartsofcompoundmodelchanges.Allotherpartsoftheapplicationshouldonlyreacttomodelchangeevents.“下面的方法应该在update的范围中被直接或间接调用:∙add(parent,child,index)∙remove(cell)∙setCollapsed(cell,collapsed)∙setGeometry(cell,geometry)∙setRoot(root)∙setStyle(cell,style)∙setTerminal(cell,terminal,isSource)∙setTerminals(edge,source,target)∙setValue(cell,value)∙setVisible(cell,visible)需要注意的是它们不是核心API方法,但它们也在mxgraph类中。一些人对可视化信息被model存储感到疑惑,这些属性包括cell的positioning(位置)、visibility和collapsed。Model存储这些属性的初始状态,并提供一个共同place在per_cell的基础上来设置它们,然而,views能够在per_view的基础上覆盖它们。Model只不过是这些属性能够被设置成globalbasis的结构(体系)中的第一个commonplace。你可以通过add()方法在model中添加一个cell,但你要知道,mxGraph.insertVertex()和mxGraph.insertEdge()是添加cell的核心方法。model中的方法要求当添加一个cell时这个cell必须是已经被创建了的,尽管mxGraph.insertVertex()可以为你创建cellCoreAPImethods:∙mxGraph.insertVertex(parent,id,value,x,y,width,height,style)–createsandinsertsanewvertexintothemodel,withinabegin/endupdatecall.∙mxGraph.insertEdge(parent,id,value,source,target,style)–createsandinsertsanewedgeintothemodel,withinabegin/endupdatecall.*com.mxgraph.model包中mxIGraphModel.mxAtomicGraphModelChange类:定义一些graphmodel的自动变化。以下为其子类:mxGraphModel.mxChildChangemxGraphModel.mxCollapseChangemxGraphModel.mxGeometryChangemxGraphModel.mxRootChangemxGraphModel.mxStyleChangemxGraphModel.mxTerminalChangemxGraphModel.mxValueChangemxGraphModel.mxVisibleChange*com.mxgraph.model包中mxIcell接口:定义一个能在mxgraphmodel中使用的cell所需要的各种条件、属性。*com.mxgraph.model包中mxIcell接口:定义一个能在mxGraph中使用的graphmodel所需要的各种条件、属性。com.mxgraph.reader包此包包含的类有如下功能:使用SAX将一个编码过的mxGraphView转化为一个image,并且此过程不用创造一个graphmodelcom.mxgraph.sharing这个软件包包含了由多个客户端并发图编辑所需的所有类。com.mxgraph.swing包:包含了JFC或Swing的主要成分,也就是graph部分和外形部分*com.mxgraph.swing包中的类: mxGraphComponent:设置背景、对cell的编辑、添加图标(用来显示的ImageIcon)、背景样式、背景颜色等、得到cell、得到graph。其中importCells()方法可以在当一个cell是通过数据传输来插入graph的时候的一种快捷方法!!!mxGraphComponent.mxMouseRedirector:鼠标响应事件!!mxGraphOutline:一个具体graphcomponent的轮廓;com.mxgraph.swing.handler包:包含所有用于处理JFC/Swing鼠标响应事件的类Classes mxCellHandlermxCellMarkermxCellTrackermxConnectionHandlermxEdgeHandlermxElbowEdgeHandlermxGraphHandlermxGraphTransferHandlermxKeyboardHandlermxPanningHandlermxRubberbandmxSubHandlermxVertexHandlercom.mxgraph.swing.util包:包含需要JFC/Swing的所有有用的类,也就是:对鼠标处理事件、拖拽和删除事件以及图标等。Interfaces mxICellOverlayClasses mxCellOverlay:cell的图标:矩形、圆形、 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 形等mxGraphActions:删除、组群、编辑cell等如下:mxGraphActions.DeleteActionmxGraphActions.DrillActionmxGraphActions.EditActionmxGraphActions.FoldActionmxGraphActions.GroupActionmxGraphActions.LayerActionmxGraphActions.RemoveFromParentActionmxGraphActions.SelectActionmxGraphActions.UngroupActionmxGraphActions.UpdateGroupBoundsActionmxGraphActions.ZoomActionmxGraphTransferable:mxMouseControl:鼠标响应事件的抽象类com.mxgraph.swing.view包:这个包包含了交互所需要的所有类Interfaces mxICellEditor:Classes mxCellEditor:用来执行对cell的就地编辑。mxInteractiveCanvas:定义了一个canvas用来执行对graph的是否命中的检测com.mxgraph.util包:该包提供了诸如mxConstants,mxUtils,mxPoint和mxRectangle等用于自定义事件及取消历史的类。Interfaces mxEventSource.mxIEventListener:定义监听事件的各种需要mxUndoableEdit.mxUndoableChange:定义取消操作的各种需要Classes mxCellRenderer:cell的呈现:如创建图形、HTML文件并画出cellmxCellRenderer.CanvasFactory:创建Canvas,当文档的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 、文档的大小被告之后,将初始化和创建Canvas分离。mxConstants:包含所有全局常量。:定义了DEFAULT_FONTSIZE=11;!!!!mxEvent:包含所有(与事件有关的)全局常量mxEventObject:对一些被命名的事件进行重新分派事件mxEventSource:为监听事件源的对象定义需求的东西mxImage:设置一个image的大小、来源mxLightweightTextPane:mxPoint :实现一个双精度的二维的点mxRectangle:实现一个双精度的二维的矩形mxResources:存取资源捆mxUndoableEdit:定义取消、恢复操作mxUndoManager:mxUtils:提供了使用mxgraph的各种帮助方法:getfont、getcolor、getString等com.mxgraph.view包:实现graph的component。Interfaces mxEdgeStyle.mxEdgeStyleFunction:边的样式的函数mxGraph.mxICellVisitor:mxPerimeter.mxPerimeterFunctionClasses mxCellState:一个cell的目前状态mxEdgeStyle:提供各种各样边的样式mxGraph:用graphmodel和样式表去创建一个graphmxGraphSelectionModel:实现一个graph所选择的modelmxGraphSelectionModel.mxSelectionChangemxGraphView:实现graph的view,管理为孩子mxGraphView.mxCurrentRootChangemxLayoutManager:实现layoutmanagermxMultiplicity:多重mxPerimetermxSpaceManagermxStyleRegistrymxStylesheet:定义一个graph中cell的初始样式,可用setmxConstants.DEFAULT_FONTSIZE来设置cell中文本的大小!!!mxSwimlaneManagermxTemporaryCellStates:cell的临时状态state.getView().getGraph().getModel();state=graphComponent.getGraph().getView().getState(cell)从中可以看出什么?Mxcellstate类:Mxcellstate(mxGraphViewview,Objectcell,Mapstyle)方法:构造一个新对象,表示指定的视图中特定cell的当前状态。Parameters:view包含state的graph视图.cell该state描绘的cellstyleArrayofkey,valuepairsthatconstitutethestyle.有关label的问题:Label可以在mxGraph.cellLabelChanged中进行给定cell的lanbel值(value)的设置。这个过程中mxEvent.LABEL_CHANGED被触发。Com.mxgraph.swing.view.mxCellEditor类
本文档为【mxgraph的学习笔记(2)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:77KB
软件:Word
页数:41
分类:
上传时间:2022-08-05
浏览量:4