cómo poner actionlistenerand actioncommand a múltiples botones j

así que quiero que mis botones se etiqueten como 1-9 pero no quiero enumerar todos los oyentes de acción y comandos de acción para cada botón. Cómo puedo hacer eso

y tampoco puedo usar add.ActionListener (this) entonces, ¿qué puedo usar?

    JButton[] button = new JButton[9];
    panel.setLayout(new GridLayout(3,3));
    for (int i = 0; i < button.length; i++) {
        button[i] = new JButton();
        panel.add(button[i]);
        String bu = Integer.toString(i);
        button[i].setActionCommand(bu);
        button[i].addActionListener(new ActionListener());

Lo siento, soy nuevo en Java Swing, así que todavía es un poco confuso