项目中用到了Kap IT Lab, 功能挺强大的。网上搜索一下动态添加节点,未果。在官网发现一例,稍稍加工分享之!
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:KapLab="com.kapit.visualizer.*">
<mx:Script>
<![CDATA[
import com.kapit.visualizer.LayoutConstants;
import com.kapit.visualizer.renderer.GenericObject;
import com.kapit.visualizer.renderer.GenericSprite;
private var node5:GenericSprite;
private var center:Point ;
private function onCreationComplete():void
{
center = new Point(myVisualizer.width / 2, myVisualizer.height / 2);
var node1:GenericSprite = myVisualizer.addNodeElement({id:'1'}, null, center);
node1.type = GenericObject.EXPAND_SPRITE;
var node2:GenericSprite = myVisualizer.addNodeElement({id:'11'}, node1, center);
var node3:GenericSprite = myVisualizer.addNodeElement({id:'12'}, node1, center);
var node4:GenericSprite = myVisualizer.addNodeElement({id:'2'}, null, center);
node5 = myVisualizer.addNodeElement({id:'3'}, null, center);
myVisualizer.addLinkElement({id:'l1'}, node1, node2);
myVisualizer.addLinkElement({id:'l2'}, node1, node3);
myVisualizer.addLinkElement({id:'l3'}, node1, node4);
myVisualizer.addLinkElement({id:'l4'}, node1, node5);
myVisualizer.reLayout();
}
protected function btn_clickHandler(event:MouseEvent):void
{
var obj:Object = new Object();
obj.id = Math.round(Math.random()* 10000).toString() ;
var node:GenericSprite = myVisualizer.addNodeElement(obj, null, center);
var linkObj:Object = new Object();
linkObj.id = obj.id + "lind" ;
myVisualizer.addLinkElement(linkObj,node5,node);
myVisualizer.reLayout();
}
]]>
</mx:Script>
<KapLab:Visualizer x="0" y="0" width="100%" height="100%" backgroundColor="0xFFFFFF" id="myVisualizer" labelFields="{['id']}"
coloringPolicy="{Visualizer.UNIFORM_COLORING}" layout="{LayoutConstants.HIERARCHICAL_TREE_LAYOUT}" creationComplete="{onCreationComplete()}"/>
<mx:Button id="btn" label="add" click="btn_clickHandler(event)"/>
</mx:Application>



被折叠的 条评论
为什么被折叠?



