Доступ к локально определенным JButton в GridLayout JPanel

Допустим, у вас есть GridLayout JButtons в сетке NxN в коде, таком как этот:

JPanel bPanel = new JPanel();
bPanel.setLayout(new GridLayout(N, N, 10, 10));
    for (int row = 0; row < N; row++)
    {
        for (int col = 0; col < N; col++)
        {
            JButton b = new JButton("(" + row + ", " + col + ")");
            b.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {

                }
            });
            bPanel.add(b);
        }
    }

Как можно получить доступ к каждой кнопке по отдельности в сетке, чтобы изменить имя кнопки с помощью setText ()? Это должно быть сделано вне фактического нажатия на соответствующую кнопку.

Поскольку каждая кнопка создается локально как «b», глобально доступное имя для каждой кнопки в настоящее время невозможно. Что можно сделать, чтобы получить доступ к каждой кнопке независимо? Может ли массив типа JButton [] [] содержать ссылки на все кнопки? Как это можно настроить в приведенном выше коде?

Любой вклад приветствуется.

Благодарю.