JavaFX:按行和列获取Node

如果我知道它的位置(行和列),是否有任何方法可以从gridPane获取特定的节点,或者有什么其他方法可以从gridPane获取节点呢?

回答:

我看不出有任何直接的API来获取由行列索引节点,但可以使用getChildrenAPI从Pane,并getRowIndex(Node

child)getColumnIndex(Node child)来自GridPane

//Gets the list of children of this Parent. 

public ObservableList<Node> getChildren()

//Returns the child's column index constraint if set

public static java.lang.Integer getColumnIndex(Node child)

//Returns the child's row index constraint if set.

public static java.lang.Integer getRowIndex(Node child)

以下是示例代码,可从中获取Node使用的行和列索引GridPane

public Node getNodeByRowColumnIndex (final int row, final int column, GridPane gridPane) {

Node result = null;

ObservableList<Node> childrens = gridPane.getChildren();

for (Node node : childrens) {

if(gridPane.getRowIndex(node) == row && gridPane.getColumnIndex(node) == column) {

result = node;

break;

}

}

return result;

}

getRowIndex()getColumnIndex()现在是静态方法,应更改为GridPane.getRowIndex(node)GridPane.getColumnIndex(node)

以上是 JavaFX:按行和列获取Node 的全部内容, 来源链接: utcz.com/qa/425694.html

回到顶部