Wie wird die 'actionPerformed'-Methode ohne expliziten Aufruf aufgerufen?

Ich habe gerade angefangen, GUI mit Swing zu lernen und verstehe nicht genau, wie dasactionPerformed -Methode funktioniert. Betrachten Sie den folgenden Code:

//code to create a button and change its text when clicked
public class simplegui implements ActionListener {
  JButton button;

  public static void main(String[] args) {
    simplegui gui=new simplegui();
    gui.go();
  }

  public void go() {
    JFrame frame=new Frame();
    button=new JButton("click Me");
    button.addActionListener(this);

    frame.getContentPane().add(button);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300,300);
    frame.setVisible(true);
  }

  public void actionPerformed(ActionEvent event) {
    button.setText("I've been clicked!");
  }
}

Sollte ein Objekt nicht für eine Klasse erstellt werden, bevor eine Methode darauf aufgerufen wird (außer für statische Methoden)?

Wenn die Schaltfläche angeklickt wird, wird dasactionPerformed -Methode heißt, aber wie? Wo wird angerufen? Ich habe die Schnittstelle implementiertActionListener, aber wo ist der Code, der weiß, dass das 'ActionEvent'-Objekt beim Auftreten einer Aktion an die' actionPerformed'-Methode gesendet werden soll? Ist es in der Button-Klasse vorhanden? Ist deraddActionListener -Methode in der Button-Klasse vorhanden?

Wenn ich auf die Schaltfläche klicke, wie wird die Systemaufrufaktion ausgeführt und wo wird der Code ausgeführtgui.actionPerformed()?

ch habe bisher Java-Konzepte von OO, Static usw. befolgt, aber diese gesamte ereignisgesteuerte Programmierung ist verwirren

Antworten auf die Frage(2)

Ihre Antwort auf die Frage