Transformando String em Color?

Eu queria saber, como eu pego o valor de um textfield(string) e transformo em Color? Pra ser mais exato:

public void paintComponent(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics.create();
g.setColor(Color.BLACK);
g.dispose();
}

O que eu quero é transforma essa string e colocar em uma variavel, e usar a variavel aqui:

g.setColor(Color.Variavel);

Alguem sabe como faço isso?

Atribui a esse teu atributo, o codigo RGB ou Exadecimal da com que vc quer.

Você tem algumas alternativas

java.awt.Color cor = Color.decode(0xFF0000);
java.awt.Color cor = Color.decode(“0xFF0000”);
java.awt.Color cor = Color.decode("#FF0000"); //dizem que esse funciona, mas eu nunca usei desse jeito
java.awt.Color cor = new Color(r, g, b);
java.awt.Color cor = new Color(r, g, b, a);

[quote=inacio.ferrarini]Você tem algumas alternativas

java.awt.Color cor = Color.decode(0xFF0000);
java.awt.Color cor = Color.decode(“0xFF0000”);
java.awt.Color cor = Color.decode("#FF0000"); //dizem que esse funciona, mas eu nunca usei desse jeito
java.awt.Color cor = new Color(r, g, b);
java.awt.Color cor = new Color(r, g, b, a);

[/quote]

Eu crio uma variavel desse tipo? é isso?

Mais ai eu converto o valor como? Da string?

Pq o cara vai escrever, sei la, GREEN no textfield, ai fika como?

cor = textfield.getText()?
nao pode ser só isso :shock:

[quote=Yakkut][quote=inacio.ferrarini]Você tem algumas alternativas

java.awt.Color cor = Color.decode(0xFF0000);
java.awt.Color cor = Color.decode(“0xFF0000”);
java.awt.Color cor = Color.decode("#FF0000"); //dizem que esse funciona, mas eu nunca usei desse jeito
java.awt.Color cor = new Color(r, g, b);
java.awt.Color cor = new Color(r, g, b, a);

[/quote]

Eu crio uma variavel desse tipo? é isso?

Mais ai eu converto o valor como? Da string?

Pq o cara vai escrever, sei la, GREEN no textfield, ai fika como?

cor = textfield.getText()?
nao pode ser só isso :shock: [/quote]

isto: cor = textfield.getText() nunca vai funcionar, pois cor não é uma String…
vc teria que fazer algo como isto:

if (textfield.getText().equals("GREEN")) {
   cor = Color.GREEN
}

Se tiver muitas cores e quiser evitar uma porrada de ifs poderá fazer o seguinte:

Map<String,Color> map = new HashMap<String,Color>();

map.put("GREEN",Color.GREEN);
map.put("RED",Color.RED);
//e porai vai...

cor = map.get(textfield.getText());