gpt4 book ai didi

java - 在 JavaFx ImageView 上添加一个位置

转载 作者:行者123 更新时间:2023-11-30 02:38:52 25 4
gpt4 key购买 nike

我想要用户点击的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);
}
}

Note : Use the Pane layout as parent root for image-view and spots for positioning. Why? Check answer of @jewelsea on Explicitly positioning nodes in JavaFX.

关于java - 在 JavaFx ImageView 上添加一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42338714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com