Всплывающее окно Controlsfx не отображается в нужном месте

#java #controlsfx #javafx-11

#java #controlsfx #javafx-11

Вопрос:

Я разрабатываю настольное приложение с использованием java amp; javafx (библиотека пользовательского интерфейса). Когда пользователь нажимает на свое изображение в приложении, ему будет показан список опций во всплывающем окне (класс из библиотеки controlsfx) относительно его родителя, но проблема в том, что когда пользователь нажимает в первый раз, он отображается не в том месте, и после второго щелчка он возвращается к исходномуместо, где оно должно отображаться. Не мог бы кто-нибудь указать на проблему.

Код:

 public class PrimaryWindowController implements Initializable {
    @FXML private Circle userIcon;
    private AnchorPane userAccountPopup;

    public void showUserAccountPopOver(MouseEvent mouseEvent) {
        if (mouseEvent.getEventType().equals(MouseEvent.MOUSE_CLICKED)) {
            if (!popOver.isShowing()) {
                popOver.setAutoFix(false);
                popOver.setArrowLocation(PopOver.ArrowLocation.TOP_RIGHT);
                popOver.setArrowSize(0);
                popOver.show(userIcon);
                popOver.cornerRadiusProperty().setValue(0);
            } else {
                popOver.hide();
            }
        }
    }
}
  

Изображения приложений:

Всплывающее окно в неправильном положении
Всплывающее окно в нужном месте

Комментарии:

1. Я вижу, что у controlsfx есть список рассылки . Вы пробовали там?

2. Я проверил диалоги, но ни один из них не имеет отношения к моей проблеме.

3. Вы можете опубликовать свой собственный вопрос в списке рассылки. Может быть, кто-нибудь ответит?

4. хорошо, я так и сделаю. Я надеюсь, что кто-нибудь мне поможет.

5. Как вы FXML выглядите? Мне просто любопытно.