controlsfx CustomTextField添加ImageView单击事件通常不会触发

时间:2019-05-30 19:32:13

标签: javafx controlsfx

添加ImageView后,通常不会触发imageview单击事件。单击十次可能会触发一两次。我不知道为什么。

enter image description here

<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("搜索");
    }

1 个答案:

答案 0 :(得分:0)

您应该设置

imageView.setPickOnBounds(true);

在您的initialize()方法中。这也使得图像的透明部分也可以点击