Java JUNG图:某些边缺少箭头
我用StaticLayout制作了一个图形,并更改了顶点的形状\颜色。我没有变换任何与边相关的内容。所有边都是定向的,但其中一些未命中箭头!怎么会这样 图形可视化代码:Java JUNG图:某些边缺少箭头,java,graph,jung,Java,Graph,Jung,我用StaticLayout制作了一个图形,并更改了顶点的形状\颜色。我没有变换任何与边相关的内容。所有边都是定向的,但其中一些未命中箭头!怎么会这样 图形可视化代码: Layout<Object, String> layout = new StaticLayout<Object, String>(graphProvider.graphFor(market),new MarketVertexLayoutTransformer(market,panel.getM
Layout<Object, String> layout = new StaticLayout<Object, String>(graphProvider.graphFor(market),new MarketVertexLayoutTransformer(market,panel.getMarketGraphPane().getSize() )) ;
layout.setSize(panel.getMarketGraphPane().getSize());
VisualizationViewer<Object,String> graphPanel = new VisualizationViewer<Object,String>(layout);
graphPanel.getRenderContext().setVertexShapeTransformer(new MarketVertexShapeTransformer());
graphPanel.getRenderContext().setVertexFillPaintTransformer(new MarketVertexColorTransformer());
panel.getMarketGraphPane().add(graphPanel, BorderLayout.CENTER);
panel.getMarketGraphPane().revalidate();
谢谢问题是由Edgernderer引起的。若边连接到顶点的左上角,就会产生混淆。当我把我的形状从
CIRCLE(new Ellipse2D.Double(0,0,40,40)),
BOX(new Rectangle2D.Double(0,0,40,40));
到
连接点移动到顶点的中心,Edgerender从那里毫无问题地发挥其魔力。
然而,我不明白为什么改变形状的帧位置会产生这种差异。如果有人能解释一下,我会很高兴的 箭头放置是通过细分边来完成的,直到远段封闭在顶点形状中,然后向后移动一段。如果操作开始时远端点不在顶点形状内,则应引发异常。您选择了正确的解决方案,即在将顶点形状转换到位之前,将其居中放置在原点上。
汤姆·纳尔逊大家好,荣格图书馆的维护者之一汤姆·纳尔逊:)
graph.addEdge(bundle.getGood()+"->"+transformation,bundle.getGood(),transformation);
graph.addEdge(transformation+"->"+bundle.getGood(),transformation,bundle.getGood());
CIRCLE(new Ellipse2D.Double(0,0,40,40)),
BOX(new Rectangle2D.Double(0,0,40,40));
CIRCLE(new Ellipse2D.Double(-20,-20,40,40)),
BOX(new Rectangle2D.Double(-20,-20,40,40));