2017-02-20 78 views

回答

2

您可以使用Circle或其他Shape作爲地點。每個鼠標點擊一個新位置添加一個新點。檢查本演示中,

public class ImageViewSpotDemo extends Application {  
    @Override 
    public void start(Stage primaryStage) {  
     Pane root = new Pane(); 

     ImageView image = new ImageView(new Image("file:src/path/image.png")); 
     image.setOnMouseClicked(e -> { 

      //A new spot 
      Circle spot = new Circle(4); 
      spot.setFill(Color.WHITE); 
      spot.setCenterX(4.0f); 
      spot.setCenterY(4.0f); 

      double x = e.getSceneX() - 3; 
      double y = e.getSceneY() - 3; 

      spot.setLayoutX(x); 
      spot.setLayoutY(y); 

      root.getChildren().add(spot); 
     }); 

     root.getChildren().add(image); 

     Scene scene = new Scene(root, 300, 250); 

     primaryStage.setTitle("Hello World!"); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

注意:使用Pane佈局爲圖像的視圖和定位點父根。爲什麼?在Explicitly positioning nodes in JavaFX上查看@jewelsea的答案。

+0

加1感謝兄弟你救了我的一天 –

+0

是的,祝你好運! –