Auf Thema antworten

Das ist fast schon richtig.


Nur, dass du durch das erweitern deiner Benutzeroberfläche NICHT das Objekt erweiterst, sondern die Klasse.


Das bedeutet, wenn du in deinem MyButton auf Methoden zugreifst, die von Benutzeroberfläche erben, dann änderst du nicht die Benutzeroberfläche, die den ActionListener erzeugt.

Denke das ist logisch.


Um das aber tun zu können musst du nicht von Benutzeroberfläche erben, sondern du musst die Referenz des Objekts in deinen Actionlistener bekannt machen.


i.d.R. wirst du in dem Konstruktor deines Actionlisteners noch Benutzeroberfläche als Parameter einfügen.


[code=Java]....

        JButton hinzufuegen = new JButton("Vorgang hinzufügen");

        hinzufuegen.addActionListener(new MyButton(this));

....[/code]


und


[code=Java]import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

public class MyButton extends Benutzeroberfläche implements ActionListener {


private Benutzeroberfläche eineBenutzeroberfäche = null;


     public MyButton (Benutzeroberfläche eineOberfläche) {

        this.eineBenutzeroberfläche = eineOberfläche;

    }


    public void actionPerformed(ActionEvent ae){

        this.eineBenutzeroberfläche.bezeichnung.enable(true);

        this.eineBenutzeroberfläche.anfang.enable(true);

        this.eineBenutzeroberfläche.dauer.enable(true);

        this.eineBenutzeroberfläche.erfüllt.enable(true);

        this.eineBenutzeroberfläche.uebernehmen.enable(true);

 

    }

}[/code]



Oben