浏览 9735 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-01
protected function nodeDoubleClick(e:MouseEvent):void { var comp:UIComponent; var vnode:IVisualNode; /* get the view object that was klicked on (actually * the one that has the event handler registered, which * is the VNode's view */ comp = (e.currentTarget as UIComponent); /* get the associated VNode */ vnode = lookupNode(comp); currentNodeId = vnode.node.id; //Alert.show(currentNodeId.toString(),"提示"); var evt:VisualNodeEvent = new VisualNodeEvent(VisualNodeEvent.DOUBLE_CLICK, vnode.node,e.ctrlKey); dispatchEvent(evt); //LogUtil.debug(_LOG, "double click!"); /* Now we change the root node, we go through * our public setter method to get all associated * updates done. */ this.currentRootVNode = vnode; //Alert.show("测试双击1","提示"); //trace("测试双击"); //LogUtil.debug(_LOG, "currentVNode:"+this.currentRootVNode.id); /* here we still want to implicitly redraw */ draw(); } 这是节点双击事件,其中分发了visualnode双击事件 var evt:VisualNodeEvent = new VisualNodeEvent(VisualNodeEvent.DOUBLE_CLICK, vnode.node,e.ctrlKey); dispatchEvent(evt); 以上birdeye源码到里应该很清楚怎么做了 我在传入所需xml字符串里的节点增加监听命令,然后添加方法 "<Node id=\"1\" name=\"wwww\" nodeDoubleClick=\"testdouble(event)\" nodeColor=\"0xaf3a99\" nodeSize=\"30\" nodeIcon=\"center\" />" protected function testdouble(event:VisualNodeEvent):void { //将节点id传给java然后再组成新的xml字符串传给flex,应该就可以实现了动态的birdeye Alert.show(event.node.id.toString(),"rjfi"); } 问题是testdouble没有响应,没有alert,为什么?请flex兄弟给小弟解答一下,十分感谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-12-01
啊,哈哈,我自己搞定了
|
|
返回顶楼 | |
发表时间:2012-02-28
你那个是怎么弄的啊。。可以发份给我吗?
我现在也需要搞这个,谢谢,可以发份给我(huxiaolong19870704@163.com) |
|
返回顶楼 | |
发表时间:2012-03-05
zhtking120 写道 你那个是怎么弄的啊。。可以发份给我吗?
我现在也需要搞这个,谢谢,可以发份给我(huxiaolong19870704@163.com) 呵呵,你只需要分发节点双击事件。birdeye的节点双击事件叫DisualNodeEvent.DOUBLE_CLICK,方式是 vgraph.addEventListener(VisualNodeEvent.DOUBLE_CLICK,nodeDoubleClick); 然后编写nodeDoubleClick的方法就行了 |
|
返回顶楼 | |
发表时间:2012-05-24
高手。如何将节点设置在指定X,Y 位置啊,图形出来了,都是居中的。
|
|
返回顶楼 | |
发表时间:2012-05-26
vgraph.graph = graph;
layouter = new CircularLayouter(vgraph); vgraph.layouter = layouter; 这段代码就是指定graph是以什么样式进行展现。除了circularLayouter外,还有其它的方式,你可以在源代码和文档里找找,一一试下。 位于org.un.cava.birdeye.ravis.graphLayout.layout |
|
返回顶楼 | |
发表时间:2012-05-26
yuqihui 写道 高手。如何将节点设置在指定X,Y 位置啊,图形出来了,都是居中的。
vgraph.graph = graph; layouter = new CircularLayouter(vgraph); vgraph.layouter = layouter; 这段代码就是指定graph是以什么样式进行展现。除了circularLayouter外,还有其它的方式,你可以在源代码和文档里找找,一一试下。 位于org.un.cava.birdeye.ravis.graphLayout.layout |
|
返回顶楼 | |
发表时间:2012-05-27
多谢 试试看
|
|
返回顶楼 | |
发表时间:2012-11-15
jinsm 写道 zhtking120 写道 你那个是怎么弄的啊。。可以发份给我吗?
我现在也需要搞这个,谢谢,可以发份给我(huxiaolong19870704@163.com) 呵呵,你只需要分发节点双击事件。birdeye的节点双击事件叫DisualNodeEvent.DOUBLE_CLICK,方式是 vgraph.addEventListener(VisualNodeEvent.DOUBLE_CLICK,nodeDoubleClick); 然后编写nodeDoubleClick的方法就行了 大侠,我想问一下啊,如果我想注销节点的双击事件,该怎么做啊? |
|
返回顶楼 | |
发表时间:2012-11-16
你好,为了不让节点显示的那么密,我想采用同心圆分层显示,如下图,那么我如何来控制节点之间连线的长度呢?
|
|
返回顶楼 | |