# User im Chatprogramm verschiedene Farben



## Steffanie (16. Jan 2014)

Hi Jungs,
Hab folgendes Problem:
ich hab eine ArrayList<String> die ich mit den aktuellen Usern.
Sobald ein User joint schickt er eine Nachricht an den Server...
Dieser schickt an alle Clients die aktuelle UserListe das gleiche passiert beim Disconnect!


Nun will ich verschiedene Farben des Usernamens haben!
Dafür habe ich diese Methode erstellt


Spoiler





```
public Color getColor(String uname) {
		Color c=null;
		
		int i= Controller.getChatGui().getUserArrayList().indexOf(uname.replace(":", ""));
		//JOptionPane.showMessageDialog(null, uname+","+myusername+":"+",ID:"+i+"LOGIN:"+login+"WAHR?"+(uname).equals(myusername+":"));
		
//		if(login==0&&(uname).equals(myusername+":")){
//			c = Color.BLACK;
//			login++;
//		}else {
		switch(i){
		case 0:
			c = Color.blue;
			break;
		case 1:
			c = Color.orange;
			break;
		case 2:
			c = Color.green;
			break;
		case 3:
			c = Color.cyan;
			break;
		case 4:
			c = new Color(0x8A,0x2B,0xE2);
			break;
		}
		//}
		if(USERLEVEL==300){
			if(uname.replace(":", "").equals(myusername)){
				c = Color.red;
			} 
			
		}
		else if(uname.replace(":","").equals("Admin")){
			c = Color.red;
		}
		return c;
	}
```



--> Die Position in der UserListe legt auch die Farbe fest!
Problem--> Wenn 3 User online sind und der der an der Position 2 steht den Chatraum verlässt bekommt der User an der 3ten position jetzt die Farbe des Users an der 2ten Position!

Hab ihr irgendwelche Ideen wie ich das beheben kann?
Hab schon probiert dem Server eine ColorList zu geben und dem User darüber dann eine farbe zu weisen leider hat das nicht geklappt...
Mit dieser Lösung bin ich halbwegs zufrieden und sie ist zweckdienlich!

Hab mir folgendes Überlegt!
String[] array an zu legen in der die Usernamen genauso wie bei der ArrayList gespeichert werden
underschied--> sie werden nciht gelöscht somit hat jeder User eine andere Farbe in jede Client!
--> Unterschiedliche Farben bei Client A/B für User5
--> Problem ich kann den String irgendwie nicht auf inhalt prüfen.. also getIndexOf oder sowas


----------



## Steffanie (16. Jan 2014)

habs hinbekommen...
hatte das Problem das der String in etwa so an kommt 
[java.awt.Color[r=255,g=0,b=0], java.awt.Color[r=0,g=0,b=0], java.awt.Color[r=0,g=255,b=0]]
und hab den String aber mit , gesplitet...


----------

