BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Java Eventmodell » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Eventmodell
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Zmaster
Junior Member


Dabei seit: 15.02.2003
Beiträge: 133

traurig Eventmodell       Zum Anfang der Seite springen

Hallo,
ich habe mal ne Frage, was Java angeht.
Und zwar habe ich ein kleines Fenster gemacht und darauf mehrere Buttons platziert.
So, nun möchte ich auch auf das Klicken reagieren und das habe ich über die Methode .addActionListener() gemacht.
Als Parameter habe ich eine Klasse angegeben, die ich später implementiert habe und zwar von der Klasse java.awt.event.ActionListener!
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
class Event_Button_Adapter implements ActionListener
 {
   Form1 adapt;
   Event_Button_Adapter(Form1 adapt)
    {
       this.adapt = adapt;
    }

  public void actionPerformed(ActionEvent e)
   {
      adapt.Button_actionPerformed(e);
   }
 }

Die Methode actionPerformed(ActionEvent e) ruft auch meine selbstgeschriebene Methode Button_actionPerformed(e) auf.
Jetzt möchte ich aber nicht für jeden Button eine eigene Klasse schreiben und eine extra Methode.
Wie kann ich erreichen, dass ich die Buttons unterscheiden kann?
Am Besten wäre, wenn es schon in der actionPerformed Methode passieren könnte.

Ich hoffe auf eure Hilfe.
Gruß
zmaster
15.02.2003 17:20 Zmaster ist offline Beiträge von Zmaster suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Ist schon lange her, das ich was mit Java gemacht habe.

Vielleicht hilft Dir die Methode "GetActionCommand()"
Wenn ich mich richtig erinnere gibt diese Funktion den Namen des Buttons zurück, der geklickt wurde.

Leider weiß ich nicht mehr, wie man sie richtig benutzt. Ich schätze, das man Ihr das ActionEvent übergeben muß. Aber such einfach mal in deiner Doku. Ich wäre auch daran interessiert, meine Erinnerung etwas aufzufrischen.
15.02.2003 21:19 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

hm, Polymorphismus müsstest du da benutzen.
Und für jeden button eine Klasse erstellen,
bzw. du könntest die Buttons anhand ihrer ID (so machts die MFC)
oder über ihre Beschriftung unterscheiden...

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
15.02.2003 21:31 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Zmaster
Junior Member


Dabei seit: 15.02.2003
Beiträge: 133

Themenstarter Thema begonnen von Zmaster
geschockt wow       Zum Anfang der Seite springen

Wow, ich hätte nicht so schnell mit eurer Hilfe gerechnet.
Das Forum werde ich mir auf jeden Fall merken!

Also danke erstmal an Compuholic! (ich komme mir jetzt schon wie bei der Echo-Verleihung vor) Augenzwinkern
Die Methode getActionCommand() ist mein Retter geworden. Sie gibt als String die Beschriftung wieder zurück.
Die Methode getID() habe ich auch schon probiert, aber komischer Weise gab sie mir bei zwei verschiedenen Buttons die gleiche Zahl wieder.
Ich werde mich später mal damit genauer auseinandersetzen.
Jetzt habe ich erstmal ne Lösung! smile )

Danke und Respekt
zmaster
15.02.2003 23:53 Zmaster ist offline Beiträge von Zmaster suchen
Deef Deef ist männlich
...


Dabei seit: 24.08.2002
Beiträge: 431

      Zum Anfang der Seite springen

getID() nutzt Dir nur etwas, wenn Du dem Button vorher auch ne ID zugewiesen hast Augenzwinkern

Es gäbe noch die Möglichkeit beim Aufruf der ActionListener - Klasse einen String mit zu übergeben und den dann auszuwerten ... alsi zum Beispiel

Zitat:

.
.
.
button1.addActionListener(new ActionKlasse(this,schliessen));
button2.addActionListener(new ActionKlasse(this,neu));
.
.
.

class ActionKlasse implements ActionListener
{
Fensterklasse obj;
String aktion;

ActionKlasse(Fensterklasse obj2; String aktiosString)
{
obj = obj2;
aktion = aktionsString;
}

public void actionPerformed(ActionEvent e)
{
if(aktion.equals("schliessen") obj.dispose();
if(aktion.equals("neu") ..... ;
}

}



Hoffe Du verstehst was ich meine großes Grinsen

__________________
Was sagen uns Signaturen?! 1.Ich kann Latein 2.Ich bin umheimlich tiefgründig 3.Ich kann googlen 4.Ich lese die Lyrics der Lieder die ich höre 5.Ich schreibe und denke mir Scheisse aus die keiner lesen will...
16.02.2003 10:57 Deef ist offline E-Mail an Deef senden Beiträge von Deef suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Java Eventmodell

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH