При использовании java EventFilters в JavaFx в IntelliJ кажется, что он добавляет только EventFilters, а не удаляет их вместе со сценой? - PullRequest
0 голосов
/ 03 сентября 2018

Например, я использую сцену javaFx и добавляю объект плоскости, а затем добавляю группу с необходимыми изображениями ракет и затем добавляю сцену. Теперь, когда я добавляю фильтр событий на сцену перемещения ракеты, а затем удаляю ее сразу после этого, сцена все равно реагирует на нажатия клавиш в фильтрах событий moveMissle () при запуске. Кроме того, если вы добавляете фильтры событий, он еще не удаляет их с помощью метода remvoveEventFilter. Разве он не должен удалить его, потому что я закодировал удалить фильтр событий, чтобы он не реагировал ни на какие ключи? Спасибо.

public class Main extends Application
{
    @Override
    public void start(Stage primaryStage)
    {
        Plane plane = new Plane();
        Group group = new Group(plane.getPlaneImage(), plane.getMissleZero().getMissleImage(), plane.getMissleOne().getMissleImage(), plane.geMissleTwo().getMissleImage(), plane.getMissleThree().getMissleImage(), plane.getMissleFour().getMissleImage());
        Scene scene = new Scene(group, 700, 700);
        scene.setFill(Color.BLACK);
        scene.addEventFilter(KeyEvent.KEY_PRESSED, plane.getMissleZero().moveMissle());
        scene.removeEventFilter(KeyEvent.KEY_PRESSED, plane.getMissleZero().moveMissle());
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

1 Ответ

0 голосов
/ 09 сентября 2018

Основная причина моей неспособности добавить и удалить точно такой же eventFilter - это неправильное использование eventHandler при необходимости использовать eventFilter. Полагаю, что комментарии в оригинальном сообщении также связаны с этой проблемой.

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