如何在javafx中从图库中选择可选图像?

时间:2016-04-25 10:14:30

标签: image select javafx gallery

我正在制作图片库。我正在使用javafx 8和GUI的场景构建器。我希望用户可以选择从图库中选择图像:我希望在图库中有可点击和可选择的图像。我还想要注意那些所选图像的顺序,即首先选择哪一个,最后选择哪一个。我已经制作了画廊,但我想知道如何使图像可以点击并选择图像,注意它们的顺序?我不想在图片上使用复选框。

1 个答案:

答案 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);
        });                
    }
}
相关问题