2016-11-29 6 views
0

JSON座標から描画されたユーザーの選択した複数のマップをペインに表示しようとしています。今、マップは左上隅に描画されています。私は地図がコーナーではなくペインの中央に描かれている必要があるので、適切に/普遍的なスケーリングが可能です。 StackPanesetAlignment(Pos.CENTER);を使用すると、マップを構成するすべての別々の領域(個別に描画されている)は、マップ全体ではなくペインで描画されます。JavaFX JSONマップをペインに配置する方法

はここペイン上の領域を描画するためのコードです:

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

解決策は、個々の領域をグループにすることだと思います。その後、グループを中心の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); 
+0

これは、ありがとう! – dot

関連する問題