1

水平ツリーと階層レイアウトを組み合わせようとしています。グラフの上半分をツリー レイアウトにして水平に描画し、下半分を階層レイアウトにしたいと考えています。同じ beginUpdate ブロックにツリー レイアウトと階層レイアウトを追加しようとしましたが、階層レイアウトが優先され、グラフのツリー レイアウトが上書きされることがわかりました。

これを克服する方法はありますか?以下は私が持っているものです -

graph.getModel().beginUpdate();
try
{
Object v1 = graph.insertVertex(parent, null, "Hello", 1, 1, 80,
                30);
Object v2 = graph.insertVertex(parent, null, "World!", 1, 1,
                80, 30,"shape=rhombus;perimeter=rhombusPerimeter");

graph.insertEdge(parent, null, "Edge", v1, v2);
/* Apply tree Layout*/
mxCompactTreeLayout layout = new mxCompactTreeLayout(graph,true); 
layout.execute(graph.getDefaultParent());

Object v3 = graph.insertVertex(parent, null, "Bye", 1, 1,80, 30,"shape=ellipse;perimeter=ellipsePerimeter");
Object v4 = graph.insertVertex(parent, null, "NoBye", 1, 1,80, 30,"shape=ellipse;perimeter=ellipsePerimeter");

//Object v5 = graph.insertVertex(parent, null, "Desc", 1, 1,
//  80, 30,"shape=ellipse;perimeter=ellipsePerimeter");

Object v6 = graph.insertVertex(parent, null, "World2!", 1, 1,80, 30,"shape=rhombus;perimeter=rhombusPerimeter");

graph.insertEdge(parent, null, "Yes", v2, v3);
graph.insertEdge(parent, null, "No", v2, v4);
graph.insertEdge(parent, null, "", v1, v6);

//Apply Hierarchial layout now
mxHierarchicalLayout layout1 = new mxHierarchicalLayout(graph ); 
layout1.setDisableEdgeStyle(false);
layout1.setFineTuning(true);
layout1.setIntraCellSpacing(50);
layout1.execute(graph.getDefaultParent());
}
finally
{
graph.getModel().endUpdate();
}
4

0 に答える 0