Как изменить стиль всех элементов в панели сетки, используя javafx? - PullRequest
0 голосов
/ 18 марта 2019

Я использую панель сетки, которая содержит несколько кнопок.Когда мы нажимаем на кнопку, это меняет стиль, и я реализую кнопку сброса.Я пытаюсь применить определенный стиль, когда мы нажимаем на эту кнопку 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;
                }
            }
        }
    }

1 Ответ

0 голосов
/ 18 марта 2019

Я наконец-то использовал массив со всеми кнопками, чтобы я мог изменить их следующим образом:

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("");
        }
    }
...