# g.setColor (Color.VARIABLE);



## Chrisi (12. Nov 2004)

Hallo zusammen,

Das ist bestimmt eine absolute Änfänger frage, aber ich komme einfach nicht vorwärts ;-)

g.setColor (Color.farbe[mouseDown]);

Ich versuche setColor den Array farbe[] mit der Variable mouseDown in der nur die Anzahl der Mausklicks
enthalten ist, zu verabreichen.

Leider klappt das nicht, ich habe versucht die Variable in "" zu setzen und mit + zu bastelln aber ich kriege es nicht hin ;-(

Der Array ist voll funktionsfähig und gibt genau die Werte zurück die ich auch erwarte.

Kann mir jemand sagen wie ich das Problem lösen kann ?

Viele Grüße,

Chrisi


----------



## Roar (12. Nov 2004)

Chrisi hat gesagt.:
			
		

> Ich versuche setColor den Array farbe[] mit der Variable mouseDown in der nur die Anzahl der Mausklicks
> enthalten ist, zu verabreichen.



äähm also wenn ich dich ridchtig verstehen: du hast ein array mt deinen Colors drin und jenachdem wie oft jemand geklickt hat (wo auch immer) willst du den entsprechenden index des arrays als farbe setzen?
setColor(farben[myMouseEvent.getClickCount()]; ?


----------



## Griffin (12. Nov 2004)

MIt Color.FARBE greifst du auf einen Konstante in der Klasse Color zu. Die Methode setColor braucht aber eine Farbe z.B. als RGB wert. Deshalb symbolisiert die Konstante Color.FARBE einen wert, mit dem man Die Farbe setzten kann.
In deinem Fall:

```
//Falls farbe dein array ist:
g.setColor(farbe[2]);
//und so sollte es dann auch funktionieren:
g.setColor(farbe[mouseDown]);
```


----------



## Chrisi (12. Nov 2004)

so, erstmal hier im Forum registriert ;-)

Vorweg danke für eure Antworten.

Also, so schaut der Array aus:


```
String[] farbe = {"red", "green", "blue", "yellow"};
```

In der Variable mouseDown speicher ich die Klicks der Maus, dazu prüfe ich wieviel bereits stattgefunden 
haben und setzte falls notwendig die Variable wieder auf 0, da ja auch nur 4 plätze im Array sind ;-)


```
if(mouseDown > 3)
{
   mouseDown=0;
}
```

Hier der Vorschlag von Griffin:


```
g.setColor(farbe[2]);
//oder
g.setColor(farbe[mouseDown]);
```

habe ich getestet, kommt aber leider auch ein Fehler:

setColor java.awt.Color in java.awt.Graphiks cannot be applied to (java.lang.String)

Ich hab das glaube ich nicht ganz vertanden, muss ich dort jetzt einen RGB Wert übergeben anstatt des Farbnames,
so wie ich es oben im Array habe ?

Habt ihr da Rat für mich ?

Viele Grüße Chrisi ...


----------



## bummerland (12. Nov 2004)

mach einfach statt 
	
	
	
	





```
String[] farbe = {"red", "green", "blue", "yellow"};
```


```
Color[] farbe = {Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW};
```


----------



## Roar (12. Nov 2004)

nein du musst ein Color objekt übergeben
wieso speicherst du denn in deinem array nicht die Color objekte anstatt strings?


----------



## Guest (12. Nov 2004)

becstift hat gesagt.:
			
		

> mach einfach statt
> 
> 
> 
> ...



Das klappt, danke für eure Hilfe ...


----------

