javafx setOnAction не работает в контроллере - PullRequest
0 голосов
/ 07 декабря 2018

Я создал файл fxml, у которого есть только GridPane, для которого fx: id - это «барьерная область», и я привязал к нему контроллер.

И в функции инициализации контроллера я создал кнопку и добавил еев GridPane.

А затем я установил OnActionHandler для кнопки, которая просто позволяет консоли выводить сообщение «test», когда программа работает, GridPane отображает кнопку нормально.Но когда я нажал на кнопку, ничего не произошло. (Я ожидаю, что вывод консоли "тест", когда я нажал кнопку)

@FXML
private void initialize() {
    System.out.println("init");
    Square square = new Square();
    square.setAddHandler(addBarrierHandler);
    barrierPane.add(square.getEntity(),0,0);
    gamePane.setOnMouseClicked(event -> System.out.println("get!"));
    Button btn = new Button("get");
    barrierPane.add(btn,1,1);
    btn.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            System.out.println("test");
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...