Announcement

Collapse
No announcement yet.

addActionListener - Wo wird die actionPerformed-Methode gestartet ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • addActionListener - Wo wird die actionPerformed-Methode gestartet ?

    Hallo,
    ich lerne gerade mal sei 4 Monaten Java und tue das vornehmlich mit HIlfe von irgendwelchen Büchern und Youtube-Videos. Aktuell bearbeite ich gerade ein Buch namens "Java Alles-in-einem-Buch für Dummies" von Arnold V.Willemer. Ansich ist das meiste darin auch ganz gut beschrieben, aber an manchen Stellen könnte es auch noch etwas ausführlicher sein. Aktuell hänge ich ein wenig bei einem Kapitel, wo der BMI einer Person errechnet wird. Die Eingabe erfolgt über eine grafische Oberfläche,d.h. mit JFrame, JTextField und einem Button, dessen Betätigung von einer Methode "addActionListener" bewacht wird. Wenn ich das richtig sehe, sorgt diese Methode dafür, dass im Fall einer Betätigung des Buttons die Methode "actionPerformed" startet, in der dann die eigentliche Berechnung des BMI erfolgt. Nun, wie das Programm funktioniert, habe ich ja so halbwegs verstanden.

    Was ich an der ganzen Sache noch nicht kapiert habe: Wie kann ich feststellen, dass eine Methode wie "addActionListener" die Methode "actionPerformed" startet ? Wenn ich mir die Deklaration dieser Methode anschaue,werde ich mit einer mehre tausend Zeilen langen Datei "erschlagen", kann aber nicht so richtig rausfinden, an welcher Stelle die Methode "actionPerformed" gestartte wird.
    Zuletzt editiert von Werniman; 05.02.2020, 00:31.

  • #2
    Wozu ist das interessant?
    Die Klasse ActionListener hat die abstrakte Methode actionPerformed. Die musst du also überschreiben. Damit ergibt sich

    Code:
    deinButton.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent evt){
                //mache was
             }
          });
    Der Button schaut bei dem Event in seiner Liste der vorhandenen ActionListnern nach und ruft dann bei jeder das perform auf. Der Button weiß, wieviele Listner da sind und ruft bei einem Event jeden angemeldeten auf.
    Mehr braucht man nicht zu wissen.
    Wenn du es allerdings genau wissen willst, musst du wohl den Quellcode durchgehen. Die Methode addActionListner ist in AbstractButton definiert.

    Christian

    Comment

    Working...
    X