# 1 Button mehrere Aktionen??



## Matze (2. Dez 2003)

Da bin ich schon mit der nächsten Frage ;-)

Ist es möglich, dass wenn ich einen Button drücke ich damit mehrere Aktionen gleichzeitig ausführen kann?!
In meinen Fall soll durch drücken eines Buttons in einer Leiste sich der Hintergrund eines Fensters ändern und die Buttonleiste genau die selbe Farbe wie der Hintergrund erhalten, so dass das gesamte Fenster die gleiche Hintergrundfarbe besitzt.
Durch drücken eines zweiten Buttons soll sich dann das ganze wiederholen, nur mit einer anderen Farbe.

Wie mach ich das?

Gruß,
Matze


----------



## Stefan1200 (2. Dez 2003)

Du kannst doch in den ActionListener reinschreiben, was er machen soll ?!?
Wir reden doch von Java, oder?


----------



## Matze (2. Dez 2003)

Ja, bloß wie????


----------



## Stefan1200 (2. Dez 2003)

Den ActionListener kennst du????


```
public void actionPerformed(ActionEvent e)
{
    // Hintergrund bla ändern
    // Hintergrund blubb ändern
    // Ausgabe Micro$oft mag ich nicht
}
```


----------



## Matze (2. Dez 2003)

Ja, kenn ich...
ich poste dir jetzt mal meinen Code vom ActionEvent:


```
public void actionPerformed(ActionEvent farbeAendern) {
		Object source = farbeAendern.getSource();
		if (source == b1)
			//this.getContentPane().setBackground(Color.red);
		   pa.setBackground(Color.red);
		   bPanel.setBackground(Color.red);
		if (source == b2)
		    //this.getContentPane().setBackground(Color.yellow);
		    //pa.setBackground(Color.yellow);
		    bPanel.setBackground(Color.yellow);
		if (source == b3)
		   //this.getContentPane().setBackground(Color.green);
		   //pa.setBackground(Color.green);
		   bPanel.setBackground(Color.green);
		if (source == b4)
		   //this.getContentPane().setBackground(Color.blue);
		   //pa.setBackground(Color.blue);
		   bPanel.setBackground(Color.blue);
		repaint();
		}
```

Wie du siehst, hab ich 4 Buttons und jeder Button soll den Hintergrund von "pa" und den Hintergrund von "bPanel" (ist meine Buttonleiste) in die gleiche Farbe (bei Button b1 zB in rot; bei Button b2 zB in gelb) ändern, d.h. ich brauche 2 Events pro Button.


----------



## Stefan1200 (2. Dez 2003)

Wieso zwei Events?
Sobald auf dem Button geklickt wird, sollen zwei Sachen gemacht werden, sehe ich das richtig?
Wofür brauchst du da zwei Events? Du brauchst nur ein Event, und in diesem stehen zwei Anweisungen drinne...mehr nicht. Oder bin ich immer noch auf dem Holzweg ?!?


----------



## Matze (2. Dez 2003)

Achso...hm...des wäre natürlich auch möglich...
Und wie setze ich das um?? Also wie sieht der Code dafür aus??


----------



## Stefan1200 (2. Dez 2003)

Dein Code sieht doch schon gut aus?!?
Entweder ich habe dein Problem nicht verstanden, oder ich würde das genauso schreiben wie du es bereits gemacht hast.


----------



## Matze (2. Dez 2003)

Hm...also so wie ich ihn da geschrieben hab, funktionierts leider nicht!

Hier is mal der komplette Code...vielleicht findest du ja noch nen Fehler?!


```
public void actionPerformed(ActionEvent farbeAendern) {
		Object source = farbeAendern.getSource();
		if (source == b1)
			//this.getContentPane().setBackground(Color.red);
		   pa.setBackground(Color.red);
		   //bPanel.setBackground(Color.red);
		if (source == b2)
		    //this.getContentPane().setBackground(Color.yellow);
		    pa.setBackground(Color.yellow);
		    //bPanel.setBackground(Color.yellow);
		/*if (source == b3)
		   //this.getContentPane().setBackground(Color.green);
		   pa.setBackground(Color.green);
		   bPanel.setBackground(Color.green);
		if (source == b4)
		   //this.getContentPane().setBackground(Color.blue);
		   pa.setBackground(Color.blue);
		   bPanel.setBackground(Color.blue);*/
		repaint();
		}
}
```


----------



## Matze (2. Dez 2003)

Ich habs geschafft! )
Man muss einfach jede Anweisung in ne neue if-Schleife setzen, dann funktioniert des ohne Probleme...is zwar wahrscheinlich net die eleganteste Lösung aber watt solls ?! )

Trotzdem danke für deine Hilfe!!!

Brauch sie bestimmt mal wieder hehe!

Gruß,
Matze


----------



## Stefan1200 (2. Dez 2003)

Achso...oh man, jetzt habe ich dein Problem verstanden!


```
if (bla == bla)
{
    // Anweisung 1
    // Anweisung 2
    // Anweisung 3
    // Anweisung 4
}

if (blub == blub)
{
    // Anweisung 1
    // Anweisung 2
    // Anweisung 3
    // Anweisung 4
}
```

Die geschweiften Klammern fehlen dir.


----------



## Matze (2. Dez 2003)

*llllooooollll*
Oh mein Gott bin ich doof!! 

Und noch einmal danke für deine Hilfe 

Matze


----------

