如何使用 javafx 更改网格窗格中所有项目的样式?

How to change the style of all the items in a grid pane using javafx?

我正在使用包含一些按钮的网格窗格。当我们点击一​​个按钮时,它会改变样式,我正在实现一个重置按钮。我想要做的是在我们点击那个 reset 按钮时应用特定的样式。

这是我的代码,我试图让按钮应用默认样式:

public void displayNewBoard(){
        for (int row = 0; row < GRID_WIDTH; row++) {
            for (int col = 0; col < GRID_HEIGHT; col++) {
                gZone.getChildren().setBackground(new Background(new BackgroundFill(Color.LIGHTGRAY, new CornerRadii(0),new Insets(0))));
            }
        }
    }

gZone 是我的网格窗格,我想获取每个按钮,但该行不正确。

我也试过其他方法:

 for (int row = 0; row < GRID_WIDTH; row++) {
        for (int col = 0; col < GRID_HEIGHT; col++) {
            for (Node node : gZone.getChildren()) {
                if(gZone.getRowIndex(node) == row && gZone.getColumnIndex(node) == col) {
                    node.setBackground(new Background(new BackgroundFill(Color.LIGHTGRAY, new CornerRadii(0),new Insets(0))));
                    break;
                }
            }
        }
    }

我最终使用了一个包含所有按钮的数组,因此我可以像这样更改它们:

for (int row = 0; row < GRID_WIDTH; row++) {
        for (int col = 0; col < GRID_HEIGHT; col++) {
            grid[row][col].setBackground(new Background(new BackgroundFill(Color.LIGHTGRAY, new CornerRadii(0),new Insets(0))));
            grid[row][col].setText("");
        }
    }