我正在制作图片库。我正在使用javafx 8和GUI的场景构建器。我希望用户可以选择从图库中选择图像:我希望在图库中有可点击和可选择的图像。我还想要注意那些所选图像的顺序,即首先选择哪一个,最后选择哪一个。我已经制作了画廊,但我想知道如何使图像可以点击并选择图像,注意它们的顺序?我不想在图片上使用复选框。
答案 0 :(得分:0)
您可以在每个ImageView上添加setOnMouseClicked处理程序。
以下是我的意思的代码示例:
public class ClickableImage extends Application {
private ArrayList<String> clickedImages = new ArrayList<>();
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
String imgUrl = getClass().getResource("image.png").toExternalForm();
assert imgUrl != null;
Image img = new Image(imgUrl);
assert img != null;
BorderPane root = new BorderPane();
ImageView imgView = new ImageView(img);
imgView.setUserData(imgUrl);
root.setCenter(imgView);
Scene scene = new Scene(root, 600, 400);
primaryStage.setScene(scene);
primaryStage.setTitle("ClickableImage");
primaryStage.show();
//-------------
imgView.setOnMouseClicked(e -> {
String clickedImgUrl = (String)((ImageView)e.getSource()).getUserData();
System.out.println("Image was clicked: " + clickedImgUrl);
clickedImages.add(clickedImgUrl);
});
}
}