我试图在窗格上显示从JSON坐标绘制的用户选择的几个单独地图。现在,地图正在左上角绘制。我需要将地图绘制到窗格的中心,而不是在角落中,因此可以正确/普遍地缩放。如果我使用StackPane
和setAlignment(Pos.CENTER);
,那么构成地图的所有单独区域(它们都是单独绘制的)将在窗格中绘制,而不是整个地图。
以下是在窗格上绘制区域的代码:
public void addPolygon(List<Point2D>coordinates, Color color){
Polygon polygon = new Polygon();
for(Point2D point : coordinates)
polygon.getPoints().addAll(point.getX(), point.getY());
//outline each polygon in black
polygon.setStroke(Color.BLACK);
polygon.setStrokeWidth(0.08);
//sets the color of the polygon derived from a random color generator
polygon.setFill(color);
//add created polygons to pane
mapPane.getChildren().add(polygon);
如何调整它以显示在中心?谢谢!
答案 0 :(得分:0)
我认为解决方案是将各个区域划分为一个组。然后将Group放入居中的StackPane。
private Group mapGroup = new Group();
public void addPolygon(List<Point2D>coordinates, Color color){
Polygon polygon = new Polygon();
for(Point2D point : coordinates)
polygon.getPoints().addAll(point.getX(), point.getY());
//outline each polygon in black
polygon.setStroke(Color.BLACK);
polygon.setStrokeWidth(0.08);
//sets the color of the polygon derived from a random color generator
polygon.setFill(color);
//add created polygons to pane
mapGroup.getChildren().add(polygon);