Partiamo da qualcosa di corretto e appropriato:

Questo:

codice:
import java.awt.*;
import javax.swing.*;

public class Calc extends JFrame {
    private JButton[] pulsanti;
    private JPanel pannelloPulsanti;
    private JLabel etichettaRisultato;

    public Calc() {
        super("Calc");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        pulsanti = new JButton[9];
        pannelloPulsanti = new JPanel(new GridLayout(3, 3));
        etichettaRisultato = new JLabel("Risultato");

        for (int i = 0; i < pulsanti.length; i++) {
            pulsanti[i] = new JButton(String.valueOf(i+1));
            pannelloPulsanti.add(pulsanti[i]);
        }

        getContentPane().add(pannelloPulsanti, BorderLayout.CENTER);
        getContentPane().add(etichettaRisultato, BorderLayout.PAGE_END);
        pack();
    }


    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Calc().setVisible(true);
            }
        });
    }
}

è corretto.