controlfx CustomTextField добавить событие клика 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("搜索");
    }

person laram    schedule 30.05.2019    source источник


Ответы (1)


Вы должны установить

imageView.setPickOnBounds(true);

в вашем методе initialize(). Это делает прозрачные части изображения кликабельными.

person PhilKey    schedule 30.05.2019