JavaFX - получить строку индекса и столбец индекса с помощью OnClick на GridPane

Мне нужно получить индекс моего указанного щелчка по моей GridPane под названием myGrid. Если я поставлю на доску фигуру от своего координатора, как показано ниже, она сработает .. например: myGrid.add(new ImageView("othello/images/white.png"), 4, 3);

Если я хочу занять позицию своего щелчка на доске, я безуспешно использую этот метод.

@FXML
   private void clickGrid(MouseEvent event) {
      Node source = (Node)event.getSource() ;
      Integer colIndex = GridPane.getColumnIndex(source);
      Integer rowIndex = GridPane.getRowIndex(source);
      if (colIndex != null && rowIndex != null){
         myGrid.add(new ImageView("othello/images/black.png"), colIndex.intValue(), rowIndex.intValue());
      }     
   }

Если я не использую

if (colIndex != null && rowIndex != null)

ошибка - "Java.NullPointException"

Однако, если я использую это в программе, ничего не происходит, когда я пытаюсь получить значения row / col. Помощь? Спасибо

РЕДАКТИРОВАТЬ: вот мой FXML

введите здесь описание изображения


person Alberto32    schedule 20.07.2017    source источник
comment
Источником события является узел, на котором зарегистрирован обработчик. К каким узлам применяется обработчик в файле FXML?   -  person James_D    schedule 20.07.2017
comment
clickGrid находится в On Action моей GridPane в FXML. Если я щелкну свою GridPane, он должен дать мне правильную строку, индекс столбца.   -  person Alberto32    schedule 20.07.2017
comment
Нет, потому что GridPane.getColumnIndex(node) дает вам индекс столбца узла, который, как предполагается, находится в GridPane. Ваш GridPane, вероятно, не содержится в другом GridPane (и даже если бы он был, это был бы не тот индекс столбца / строки, который вам нужен). Вам необходимо зарегистрировать слушателя мыши с узлами, находящимися внутри GridPane, а не с самим GridPane.   -  person James_D    schedule 20.07.2017
comment
См., Например, stackoverflow.com/questions/41125571 или stackoverflow.com/questions/31095954 или многие другие   -  person James_D    schedule 20.07.2017
comment
Вы можете использовать эту ссылку stackoverflow.com/questions/28320110/   -  person Akash    schedule 20.07.2017
comment
Оууу хорошо. Я понимаю логику, но очень запутываю. Я отредактировал свой пост, чтобы показать вам мой файл FXML, спасибо :)   -  person Alberto32    schedule 20.07.2017