我有以下代码来绘制一个有根的树,每一件事情都很好,但是我努力集中并使图表在其父面板中安装了大约1个小时而没有任何运气。
DelegateTree<Integer, String> g2 = new DelegateTree<>();
g2.setRoot(1);
g2.addChild("E1", 1, 2);
g2.addChild("E2", 1, 3);
g2.addChild("E3", 1, 4);
g2.addChild("E4", 1, 5);
g2.addChild("E6", 2, 6);
g2.addChild("E7", 2, 7);
Layout<Integer, String> layout = new TreeLayout<>(g2);
BasicVisualizationServer<Integer, String> vv = new BasicVisualizationServer<>(layout);
vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR);
Transformer<Integer, Paint> vertexPaint = new Transformer<Integer, Paint>() {
@Override
public Paint transform(Integer i) {
return Color.GREEN;
}
};
vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
vv.scaleToLayout(new CrossoverScalingControl());
pnlGraph.add(vv);
请注意,我希望我的图表保持在其父边界的中心,当整个JFrame
调整大小时,它会缩小以适合其父级。