# Hintergrundfarbe durch Button click ändern ??



## Shanks (3. Jun 2011)

ich wollte ein einfaches Frame mit einem Button schreiben bei dem sich die Hintergrundfarbe durch den click auf dem Button ändert. Bin Neuling in der GUI-Programmierung und komme bei dieser Anforderung nicht weiter 
Ich habe aber schon mal angefangen mit dem Code, weiss aber bei der actionPerform() Methode nicht mehr weiter. 



```
public class Hintergrund extends JFrame implements ActionListener{

    JButton alleFarben;

    public Hintergrund(String title) {

        super(title);
        alleFarben      =  new JButton("Farbe Aendern");

        alleFarben.setActionCommand("Aendern");
        alleFarben.addActionListener(this);

        setLayout(new FlowLayout());

        add(alleFarben);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    //Methode zum aendern
    public void actionPerformed(ActionEvent evt) {

                         ???????
    }
}
```


Wäre für einige Tipps wie man da vorgehen könnte sehr dankbar. 


gruß Shanks


----------



## eRaaaa (3. Jun 2011)

[c]getContentPane().setBackground(Color.XYZ);[/c]

???:L


----------



## Shanks (3. Jun 2011)

oke also es sollen mehrere Farben kommen also sowas wie eine Verkettung sorry hab das vergessen 

Also nach  jedem Klick eine andere Farbe 



gruß Shanks


----------



## eRaaaa (3. Jun 2011)

Also besteht dein eigentliches Problem darin, eine Zufallsfarbe zu generieren oder wie? Weil du musst ja in meinem Vorschlag nur noch Color.XYZ austauschen! 

```
Color c = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));
    	getContentPane().setBackground(c);
```

r = ein Random-Objekt (
	
	
	
	





```
Random r = new Random();
```
 nach Zeile 3 z.B. einfügen)

Oder was ist jetzt genau dein Problem? Wobei hast du Schwierigkeiten=


----------



## Shanks (3. Jun 2011)

Also die Reihenfolge verändert sich nicht aber es sollen halt mehrere Farben sein. Ich weiss nicht wie ich das ereignis mit der änderung der Farbe zusammen bringen soll. Es soll irgendwie mit getBackground() gemacht werden. ich hatte schon ne Idee aber die scheint mir viel zu umständlich zu sein. 




gruß Shanks


----------



## eRaaaa (3. Jun 2011)

Ja dann fülle eine Liste mit Farben und zähle bei jedme Klick eben den Index hoch, beim Ende fängst du wieder bei 0 an?! Sorry ich verstehe echt nicht wo dein Problem hier gerade liegt!


----------



## Shanks (3. Jun 2011)

Das mit dem Random funktioniert. Anders müsste ich mal schauen. 


Vielen dank für die Antworten  

gruß Shanks


----------

