在JavaFx上添加一个地点ImageView
答
您可以使用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的答案。
加1感谢兄弟你救了我的一天 –
是的,祝你好运! –