2016-03-20 5 views
1

私はJavaFXでいくつかの図を作成しようとしています。 Polygonクラス、またはこの場合はCircleクラスでこれらの図を作成できます。しかし、私はそれの上に画像を追加したい。だから私は2つの要素、ImageViewの画像と画像でこのためのグループを使用しています。しかし、私がこのグループを使用すると、イメージは真ん中にはありません。私はイメージを中心にしたいと思います。マウスでドラッグアンドドロップできるようにしたいので、真ん中にいなければなりません。私は円と多角形で試しましたが、どちらの場合も画像は右下隅にあります。グループ内の中心画像JavaFX

編集:setXとsetYで画像を移動できることが分かりましたが、これは画像を中央に配置する簡単な方法ではありません。

は、ここで私が現時点で持っているものです。

public class Figure extends Group { 

public Figure() { 
    Circle circle = new Circle(100); 
    ImageView imageView = new ImageView(); 
     circle.setFill(Color.BLUE); 
     circle.setStroke(Color.BLACK); 
     Image image = new Image("images/blue/bike.png"); 
     imageView.setImage(image); 
     imageView.setFitWidth(100); 
     imageView.setPreserveRatio(true); 
     imageView.setSmooth(true); 
     imageView.setCache(true); 
     super.getChildren().addAll(circle, imageView); 
} 

答えて

0

最も簡単な解決策ではなくGroupStackPaneを使用することです。重複させると、クリック可能性に問題が生じる可能性があります.2つのCircleのうち1つは、他のFigureのStackPaneによって隠されています。

少し丁寧ですが、私はsetXsetYとお考えになります。

+0

これはまさにスタックパネルの問題です。私は、時にはそれらのポリゴンをお互いに接近させ、図形のクリック性に問題を与えます。 Stackpaneのクリック可能なスペースは常に正方形であるからだと思います。 –