JavaFX - 每行迭代 GridPane 节点 - 每行读取 GridPane 节点
JavaFX - Iterate GridPane nodes per row - Read Nodes of GridPane per row
我正在使用 JavaFX 8 创建一个应用程序。
我使用 drag/drop 动态更改网格窗格的内容。
我希望每行或每 row/col 迭代 GridPane 内容。
JavaFX 允许通过指定行和列在 GridPane 中添加节点。
gridPane.add(node, col, row);
我想通过指定行和列以相同的方式读取 GridPane 的节点。
我想要类似于下面源代码的东西(下面的代码不正确),
for(int row = 0; row < gridPaneHeight; row++) {
for(int col = 0; row < gridPaneWidth; col++) {
Node node = gridPane.get(col, row);
}
}
怎么样
int[][] gridPaneNodes = new int[gridPaneWidth][gridPaneHeight] ;
for (Node child : gridPane.getChildren()) {
Integer column = GridPane.getColumnIndex(child);
Integer row = GridPane.getRowIndex(child);
if (column != null && row != null) {
gridPaneNodes[column][row] = child ;
}
}
(或者,当你把它们放在那里时,你可以跟踪它们被放置在哪个单元格中......)
那你可以做
for (int row = 0; row < gridPaneHeight; row++) {
for(int col = 0; row < gridPaneWidth; col++) {
Node node = gridPaneNodes[column][row] ;
}
}
我正在使用 JavaFX 8 创建一个应用程序。 我使用 drag/drop 动态更改网格窗格的内容。 我希望每行或每 row/col 迭代 GridPane 内容。 JavaFX 允许通过指定行和列在 GridPane 中添加节点。
gridPane.add(node, col, row);
我想通过指定行和列以相同的方式读取 GridPane 的节点。
我想要类似于下面源代码的东西(下面的代码不正确),
for(int row = 0; row < gridPaneHeight; row++) {
for(int col = 0; row < gridPaneWidth; col++) {
Node node = gridPane.get(col, row);
}
}
怎么样
int[][] gridPaneNodes = new int[gridPaneWidth][gridPaneHeight] ;
for (Node child : gridPane.getChildren()) {
Integer column = GridPane.getColumnIndex(child);
Integer row = GridPane.getRowIndex(child);
if (column != null && row != null) {
gridPaneNodes[column][row] = child ;
}
}
(或者,当你把它们放在那里时,你可以跟踪它们被放置在哪个单元格中......)
那你可以做
for (int row = 0; row < gridPaneHeight; row++) {
for(int col = 0; row < gridPaneWidth; col++) {
Node node = gridPaneNodes[column][row] ;
}
}