Мне нужно получить индекс моего указанного щелчка по моей 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
GridPane.getColumnIndex(node)
дает вам индекс столбца узла, который, как предполагается, находится вGridPane
. ВашGridPane
, вероятно, не содержится в другомGridPane
(и даже если бы он был, это был бы не тот индекс столбца / строки, который вам нужен). Вам необходимо зарегистрировать слушателя мыши с узлами, находящимися внутриGridPane
, а не с самимGridPane
. - person James_D   schedule 20.07.2017