java - javafx:如何将 mousepressed 事件应用于循环中的 ImageView?
问题描述
我创建了一个 foreach 循环,该循环创建 ImageView 并使用 javafx 显示它们,但是将找到的每个 ImageView 都必须像给它的 mousepressed 事件一样,我已经编写了一个方法,我需要知道的只是应用它到鼠标按下的 Imageview,我有点不知道如何应用它。
循环代码
private void setUpMovieContent() {
WebResponse response = RequestVideoFromServer.getAllList();
for (int i = 0; i < response.getMovies().length; i++) {
String imageUrl = response.getBaseURL() + response.getMovies()[i].getImageUrl();
Image img = new Image(imageUrl);
ImageView imgView = new ImageView(img);
imgView.setFitHeight(350);
imgView.setFitWidth(230);
Label lblTitle = new Label();
lblTitle.setText(response.getMovies()[i].getTitle());
lblTitle.setFont(Font.font(null,FontWeight.EXTRA_BOLD,20));
lblTitle.setStyle("-fx-font-size: 18px;");
lblTitle.setLayoutY(11);
lblTitle.setLayoutX(20);
VBox vb = new VBox();
vb.setLayoutX(5);
vb.setSpacing(5);
vb.getChildren().addAll(imgView, lblTitle);
hBox.getChildren().add(vb);
}
sp.setContent(hBox);
sp.setPrefSize(600,300);
sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
sp.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
stackPane.getChildren().add(sp);
}
解决方案
imgView.setOnMousePressed(event -> {
// process click
});
推荐阅读
- angular - Angular 从 6 更新到 8 期间令人费解的不兼容对等依赖关系
- spring-test - @WebAppConfiguration 在没有 servlet 或应用程序容器的情况下如何工作?
- python - 没有主键的Python sqlalchemy映射表
- prometheus - prometheus 样本太旧或未来太远
- spring-boot - 为什么两个单独工作的 JPQL 查询组合在一起时不起作用?
- java - 使用杰克逊反序列化对象列表 json 对象 - 无法从 start_array 令牌中反序列化实例
- mysql - MySQL - 唯一确认的电子邮件
- .net-core - 在.net核心中添加引用的正确方法是什么——程序集还是nuget?
- javascript - Bixby 真的支持 ES6 吗?const / 让关键字失效
- jquery - 如何使用 form.serialize() 发送 select2 多个选定的选项值?