Подтвердить что ты не робот

Javafx GridPane извлекает конкретное содержимое ячейки

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

setConstraints(btt , 0 ,1 ) 

setConstraints(btt , 0 ,2 )

getChildren().add....

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

4b9b3361

Ответ 1

Ну, я думаю, если нет решения для получения определенного node из 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;
}

Ответ 2

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

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

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

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