如何引用GridPane中的特定节点

时间:2018-12-08 02:17:55

标签: java javafx gridpane

我有一个瓷砖网格,每个瓷砖顶部都有一个堆栈窗格,以便在每个瓷砖上放置一个形状。
我想要一种方法,可以通过该方法从网格上的特定图块删除堆栈窗格,这实际上意味着它应删除图块顶部的形状。
我是否可以将每个堆栈窗格存储在某种数组中并通过索引引用它?我通过使用嵌套的for循环来填充网格。
我还得到了要删除的堆栈窗格的行和列。

1 个答案:

答案 0 :(得分:1)

您可以存储对每个节点的引用,也可以按行-列索引动态检索节点:

Node getChildByRowColumn(final GridPane gridPane, final int row, final int col){

    for(final Node node : gridPane.getChildren()){
        if (GridPane.getRowIndex(node) == null) continue ; //ignore Group 
        if(GridPane.getRowIndex(node) == row && GridPane.getColumnIndex(node) == col) return node;
    }
    return null;
}