Luego de de nuestra larga búsqueda de datos hemos podido solucionar esta interrogante que suelen tener algunos los lectores. Te dejamos la solución y nuestro objetivo es serte de mucha ayuda.
Solución:
Bueno, supongo que si no hay una solución para obtener un nodo específico de gridpane por su índice de columna y fila, tengo una función para hacerlo,
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;
Suponiendo que tiene un girdPane de 8×8 donde i
son las filas y j
es la columna, puedes escribir:
myGridPane.getChildren().get(i*8+j)
El tipo de retorno es un objeto, por lo que tendrás que lanzarlo, en mi caso es:
(StackPane) (myGridPane.getChildren().get(i*8+j))
Puede agregar una lista que contenga todos los elementos secundarios del panel de cuadrícula y el elemento principal de cada elemento secundario debe tener dos filas y columnas de números enteros, por lo tanto, solo tendrá que revisar esa lista y ver si tiene las coordenadas correctas. (Probablemente debería agregar una nueva clase para poder almacenar esas coordenadas), aquí hay un ejemplo mínimo de mi solución
import java.util.ArrayList;
import java.util.List;
import javafx.scene.Node;
import javafx.scene.layout.GridPane;
public class SpecialGridPane extends GridPane
List list = new ArrayList<>();
public void addChild(int row, int column, Node node)
list.add(new NodeParent(row, column, node));
setConstraints(node, column, row);
getChildren().add(node);
public Node getChild(int row, int column)
for (NodeParent node : list)
if (node.getRow() == row && node.getColumn() == column)
return node.getNode();
return null;
class NodeParent
private int row;
private int column;
private Node node;
public NodeParent(int row, int column, Node node)
this.row = row;
this.column = column;
this.node = node;
public int getRow()
return row;
public int getColumn()
return column;
public Node getNode()
return node;
Te mostramos comentarios y valoraciones
Agradecemos que quieras añadir valor a nuestro contenido informacional cooperando tu veteranía en las observaciones.