# Strings zu Color-Instanzen parsen?



## sirbender (21. Jan 2010)

Hi,

als Input erhalte ich einen String: Each element is a string that is a color supported by HTML, for example 'red' or '#00cc00'.

Umwandeln will ich ihn in ein java.awt.Color Objekt. Gibt es bereits eine Java-lib die alle HTML Farben kennt und auch gleich die HEX String in Color-Objekte wandeln kann?


Danke,
sb


----------



## dayaftereh (21. Jan 2010)

Hey versuch mal :

```
Color.decode("#00cc00");
```

Weil nicht ob du das Suchst?


----------



## sirbender (21. Jan 2010)

Nein. Wie ich Hex umwandeln kann weiss ich. Ich suche nach einer lib die HTML color-Strings wie 'red' etc. kennt und in die richtigen java.awt.Color Objekte wandeln kann?


----------



## eRaaaa (21. Jan 2010)

Die 16 HTML 3.2 Farben könntest du wie folgt bekommen:


```
import javax.swing.text.html.StyleSheet;
.......

	StyleSheet color = new StyleSheet();
	Color col = color.stringToColor("red");
	System.out.println(col);
	col = color.stringToColor("aqua");
	System.out.println(col);
```


----------



## SlaterB (21. Jan 2010)

oder wenn du vorher manuell eine Map befüllst
map.put("red", Color.RED);
dann sind alle derart konfigurierten Strings leicht 'umzuwandeln'


----------



## sirbender (22. Jan 2010)

Gibt es so eine Map schon?


----------



## SlaterB (22. Jan 2010)

nicht dass ich wüßte,
oder selbst wenn würde sich nicht unbedingt genau das enthalten, was du benötigst,
falls du dich nicht auf bestimmte Referenzfarben beziehst 
(nach 'Java-lib die alle HTML Farben kennt' hattest du ja bereits gefragt)


----------



## Tobias (22. Jan 2010)

```
Color.decode("#00cc00");
```



> Nein. Wie ich Hex umwandeln kann weiss ich.



Obiger Code wandelt nicht in Hex um, sondern gibt dir das zum Hexwert passende awt.Color-Objekt zurück. Bleibt also nur noch, die Klarnamen mittels Map abzubilden.


----------

