Calculadora JAVA - inciantes

oi, pessoal … estou no inicio do curso java. Comecei a fazer uma calculadora, mas ainda não entendi muito bem como usar o actionListener e o actionEvent.
Eu montei a calculadora, mas não sei com fazer para aparecer na tela o 7 ou 8 ou enfim… quando clico nos botões.
A tela onde supostamente devem aparecer os resultados está definida como TextField:

telaCalculadora = new JFrame(“Calculadora”);
telaCalculadora.setSize(265, 350);
telaCalculadora.setLayout(null);
telaCalculadora.setLocationRelativeTo(null);
telaCalculadora.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	resultado = new JTextField();
	resultado.setBounds(15, 10, 220, 40); // x, y , largura, altur
	telaCalculadora.add(resultado);

	botoesCalculadora();
	calcular();

segue abaixo o código de alguns dos botões:

public void botoesCalculadora(){
tecla7 = new JButton(“7”);
tecla7.setBounds(15, 55, 50, 50);
telaCalculadora.add(tecla7);

	tecla8 = new JButton("8");
	tecla8.setBounds(75, 55, 50, 50);
	telaCalculadora.add(tecla8);
private static JFrame telaCalculadora;
private static JTextField resultado;
private static GeraBotoes tecla0,tecla1,tecla2,tecla3,tecla4,tecla5,tecla6,tecla7,tecla8,tecla9,teclav;

public static void main(String[] args) {
    
    telaCalculadora = new JFrame("Calculadora");
    telaCalculadora.setSize(265, 350);
    telaCalculadora.setLayout(null);
    telaCalculadora.setLocationRelativeTo(null);
    telaCalculadora.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	resultado = new JTextField();
	resultado.setBounds(15, 10, 220, 40);
    resultado.setEnabled(false); // Inibe o campo
    resultado.setHorizontalAlignment(JTextField.RIGHT); // Alinha a Direita
    
    tecla7 = new GeraBotoes("7", 15, 55, 50, 50);
    tecla8 = new GeraBotoes("8", 75, 55, 50, 50);
    tecla9 = new GeraBotoes("9",135, 55, 50, 50);
    tecla4 = new GeraBotoes("4", 15,115, 50, 50);
    tecla5 = new GeraBotoes("5", 75,115, 50, 50);
    tecla6 = new GeraBotoes("6",135,115, 50, 50);
    tecla1 = new GeraBotoes("1", 15,175, 50, 50);
    tecla2 = new GeraBotoes("2", 75,175, 50, 50);
    tecla3 = new GeraBotoes("3",135,175, 50, 50);
    tecla0 = new GeraBotoes("0", 15,235,110, 50);
    teclav = new GeraBotoes(",",135,235, 50, 50);
    
    telaCalculadora.add(tecla7);
    telaCalculadora.add(tecla8);
    telaCalculadora.add(tecla9);
    telaCalculadora.add(tecla4);
    telaCalculadora.add(tecla5);
    telaCalculadora.add(tecla6);
    telaCalculadora.add(tecla1);
    telaCalculadora.add(tecla2);
    telaCalculadora.add(tecla3);
    telaCalculadora.add(tecla0);
    telaCalculadora.add(teclav);
    
	telaCalculadora.add(resultado);        
    telaCalculadora.setVisible(true);

 // Ação ao clicar nos botões
    ActionListener act = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == tecla0){
                resultado.setText(resultado.getText()+"0"); 
            } else
            if (e.getSource() == tecla1){
                resultado.setText(resultado.getText()+"1"); 
            } else
            if (e.getSource() == teclav){
                resultado.setText(resultado.getText()+",");
                teclav.setEnabled(false);
            }
        }
    };
 // Adiciona eventos as teclas
    tecla0.addActionListener(act);
    tecla1.addActionListener(act);
    teclav.addActionListener(act);
    
}
 // Clase que herda (extends) de JButton
public static class GeraBotoes extends JButton {
    public GeraBotoes(String texto, int x, int y, int w, int h) {
        this.setText(texto);
        this.setBounds(x, y, w, h);
    }
}
}

Ai vc cria a lógica do que quer fazer … ;o)

Para entender esses componentes mesmo tem que gastar um tempinho de estudo. Se tiver interesse veja um curso completo de Swing Java - https://for-j.myedools.com/jse-swing-interfaces-graficas-desktop