import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class Solution {
    public static void main(String[] args) throws Exception {
        MainFrame frame = new MainFrame("New window");          //создается главное окно
        JTabbedPane tabbed = new JTabbedPane();                     //создаем вкладку
        frame.setLayout(new GridLayout(1, 0));
        frame.add(tabbed);                                          //вкладка добавляется на главное окно
        JPanel first = new JPanel(new GridLayout(2, 0));                                //ПЕРВАЯ вкладка
        JPanel second = new JPanel();                               //вторая вкладка
        tabbed.addTab("Крестики нолики", first);
        tabbed.addTab("Калькулятор", second);


        JPanel textField = new JPanel(new GridLayout(2, 0, 0, 15));
        JPanel buttonField = new JPanel(new GridLayout(3, 3, 30, 10));

        first.add(textField);

        JTextField field;
        field = new JTextField(5);
        field.setToolTipText("text field");
        JTextField field1;
        field1 = new JTextField(5);
        field1.setToolTipText("text field");

        textField.add(field);
        textField.add(field1);


        first.add(buttonField);
        JButton buttons[] = new JButton[9];     //
        for (int i = 0; i < 9; i++) {           //
            buttons[i] = new JButton();         //  массив кнопок
        }                                       //

        for (int b = 0; b < 9; b++) {           //
            buttonField.add(buttons[b]);        // создаем кнопки и добавляем их в поле buttonField
            //
        }

            int i = 0;
            buttons[i].addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    buttons[i].setText(q);
                }
            });

        frame.repaint();
    }
}
Хочу сделать что-то типа крестиков ноликов. Есть девять кнопок. Один игрок нажимает кнопку появляется крестик. Второй игрок нажимает - появляется нолик. Как обработать случайное нажатие кнопки из массива чтобы чередовались крестики и нолики?