javafx GridPane получает определенное содержимое ячейки

Я хочу получить содержимое одной конкретной ячейки в Gridpane. Я поместил кнопки в ячейки с

setConstraints(btt , 0 ,1 ) 

setConstraints(btt , 0 ,2 )

getChildren().add....

в моем случае GridPane.getChildren.get(10) это не хорошо. Я хочу перейти непосредственно к ячейке (4,2) и получить ее содержимое.

2 ответов


Ну, я думаю, если нет решения для получения определенного узла из gridpane по столбцу и индексу строк, у меня есть функция для этого,

private Node getNodeFromGridPane(GridPane gridPane, int col, int row) {
    for (Node node : gridPane.getChildren()) {
        if (GridPane.getColumnIndex(node) == col && GridPane.getRowIndex(node) == row) {
            return node;
        }
    }
    return null;
}

если у вас есть 8х8 girdPane где i строки и j - это столбец, вы можете написать:

myGridPane.getChildren().get(i*8+j)

возвращаемый тип является объектом, поэтому вам придется бросить его, в моем случае это:

(StackPane) (myGridPane.getChildren().get(i*8+j))