# Automatisch Button drücken/Event ausführen?



## JoeMcCool (30. Apr 2008)

Hallo,
da ich mich mit Java noch nicht so gut auskenne, habe ich einen zu langen Code (einfach aber viel  ) in einem meiner Buttons. Nun dachte ich mir ich verteile den Code auf zwei Buttons. Ist es nun möglich, dass ich in dem ersten Button am Ende noch irgendein Befehl einsetze, sodass er mir den zweiten Button automatisch drückt bzw. das ActionEvent von ihm ausführt, also den zweiten Teil meines Codes? Nehme natürlich auch andere Vorschläge an, solang es nicht heißt kürzen, denn das bekomm ich mit meinem kleinen Wissen über Java nicht hin. Ein Beispielcode zu dem Vorschlag wäre sehr nett, denn wie gesagt kenne mich kaum aus.
Danke für jede Hilfe


----------



## Escorter (30. Apr 2008)

Die Frage ist ob es Sinn macht den Code zu teilen. Also macht es für den User Sinn, dass es dir Buttons einzeln drücken kann. Wenn ja dann geht folgende Lösung:

```
ActionListener1{

public void ActionPerformed(ActionEvent e){
...
InstanzVonAnderemActionListener.actionPerforemd(e);
}

}

AndererActionListener{

public void ActionPerformed(ActionEvent e){
...
}

}
```

Anders könntest du dir auch teile des Codes einzelne Methoden auslagern.

Gruß,
Esco


----------



## The_S (30. Apr 2008)

In Methoden auslagern ist wohl das sinnvollste. JButtons haben aber auch die doClick() Methode, die einen klick simuliert.


----------



## JoeMcCool (30. Apr 2008)

Danke für die Antowrten schon mal. Des mit dem ActionListener bekomm ich nicht hin weiß nicht wie man sowas schreibt, habs zwar auf unterschiedlicheste Weise ausprobiert aber klappt alles nicht. Nun wie mach ich des mit den Methoden und wie rufe ich sie dann mit einem Button auf? DAnke


----------



## Gast (30. Apr 2008)

http://www.galileocomputing.de/openbook/javainsel7/javainsel_15_006.htm#t2t32


----------



## JoeMcCool (30. Apr 2008)

cool, das war genau das, was ich gesucht habe. danke. Jetz hab ich nur noch ein kleines Problemchen, was ich nicht verstehe. Bei dem ersten Klick auf den Button werden die Actionlistener nicht ausgeführt. Bei allen weiteren dann schon. Wie kann ich mein Code nun ändern, dass es auch beim ersten Klick funktioniert? Hier mal mein Code (nicht der Richtige, der wäre zu lang, sondern der, mit dem ich ausprobiere)


```
public void button1ActionPerformed(ActionEvent evt) {
   textArea1.append("0");

   button1.removeActionListener( al );
   button1.removeActionListener( c );
   button1.addActionListener( al );
   button1.addActionListener( c );
  }

  ActionListener al = new ActionListener() {
    public void actionPerformed( ActionEvent e ){
      textArea1.append("1");
    }
     
  };
  ActionListener c = new ActionListener() {
    public void actionPerformed( ActionEvent e ){
      textArea1.append("2");
    }

  };
```


----------



## The_S (2. Mai 2008)

Was tust du da? Ich glaub nicht, dass du weißt, was du da machst. Les am Besten mal ein entsprechendes GUI und ActionListener/Listener Allgemein Tutorial. Bzw. das entsprechende Kapitel in deinem Einsteigerbuch.


----------

