2017-03-09 3 views
1

Ich brauche einen kleinen Hinweis, wie Sie mehr als eine Farbe zu einer Methode SetBackgroundColor, ich habe es geschafft, mehr als eine Farbe, sondern nur wenn Programm nach dem Zufallsprinzip wählen Farbe aber ich möchte setzen spezifische 4 oder fünf Farben, hier ist mein Teil des Codes: (so auf ausgewählte Objekt, um es ändert seine Farbe)Möchten Sie mehr als eine Farbe zu einer Methode setBackgroundColor()

if (isSelected) 
    style.setBackgroundColor (new Color ((float) Math.random(), 
             (float) Math.random(), 
             (float) Math.random())); 
    else 
    style.unsetBackgroundColor(); 
+0

Wie würden Sie mehr als eine Hintergrundfarbe einstellen? Welche Farbe würde eigentlich als Hintergrundfarbe verwendet? –

+0

zu erklären, es ist nicht wirklich eine Hintergrundfarbe des gesamten Rahmens es nur eine Hintergrundfarbe eines Objekts, das auf Frame zeigt, und wenn ich auf dieses Objekt klicken, sollte es die Farbe dieses Objekts ändern. Deshalb brauche ich mehr als eine Farbe, so dass Ich könnte es bei Klick ändern – Mapet

Antwort

0

Da Sie 4 oder 5 bestimmte Farben, was Sie tun können, ist ein machen Liste.

ArrayList<Color> colorList = new ArrayList<Color>(); 
//Then you add any colors you want, although you would have to define them yourself. 
colorList.add(color1); 

Nachdem die Farben auf eine Farbliste hinzugefügt werden, müssen Sie einen Weg, um eine zufällige Farbe zu greifen. Eine Möglichkeit besteht darin, ein Random-Objekt zu erstellen und es zu verwenden, um eine Ganzzahl von 0 bis zur Listengröße zu finden.

Random rand = new Random(); 
int colorNum = rand.nextInt(colorList.size()); 

Jetzt, da wir die tatsächliche Nummer haben, können wir einfach auf diesen Index in der Liste zugreifen.

Color c = colorList.get(colorNum); 
//Now, assuming your code above works for one color, you could do your 
style.setBackgroundColor(c); 

Auf diese Weise können Sie alle Farben in oder sogar Farben hinzufügen auf Benutzeranforderung basierend machen und es würde so lange jede Farbe handhaben, wie Sie es in die Liste aufnehmen.

+0

Danke Raheel138, es hat funktioniert :) – Mapet

Verwandte Themen