Как эффективно заставить основной поток ждать Javafx Mouse Click - PullRequest
0 голосов
/ 05 апреля 2020

Я работаю над игрой в шахматы на JavaFx и дошел до первой части взаимодействия с игроком, где я должен определить, какую шахматную фигуру выбирает игрок. После 3-4 дней исследований о том, как обрабатывать щелчок мыши в Javafx, я обнаружил, что решение похоже на

scene.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
    public void handle(MouseEvent event) {
        //code here
    }
});

Хотя этот блок кода работает для обнаружения щелчка мыши и его обработки моя программа не работает точно так, как я намереваюсь. enter image description herehttps://imgur.com/a/DIcmKIL)

Как видно из вывода программы на фотографии выше, println "Passed" вызывается перед программой ждет события mouseclick, которое выводит местоположение мыши по оси x.

Так что мне было интересно, как я могу заставить остальную часть программы ждать пользователя для события мыши?

Мои попытки: я пытался некоторое время l oop, где я зацикливал прослушиватель addEventHandler, пока значение getX не стало определенного значения, но когда я реализовал while l oop, моя сцена не рендерилась, сцена просто быть белым.

Любая помощь приветствуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...