添加ImageView后,通常不会触发imageview单击事件。单击十次可能会触发一两次。我不知道为什么。
<CustomTextField prefHeight="45.0" prefWidth="300.0" promptText="搜索" fx:id="fieldSearch">
<right>
<ImageView fx:id="imageView">
<image>
<Image url="@../static/img/search.png"/>
</image>
</ImageView>
</right>
</CustomTextField>
@FXML
public ImageView imageView;
@Override
public void initialize(URL location, ResourceBundle resources) {
imageView.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
onSearchClick();
}
});
}
public void onSearchClick(){
System.out.println("搜索");
}
答案 0 :(得分:0)
您应该设置
imageView.setPickOnBounds(true);
在您的initialize()方法中。这也使得图像的透明部分也可以点击