Konvertiert RGBA-Werte in hexadezimalen Farbcode

In meiner Anwendung gibt es einige Schieberegler, mit denen der Benutzer die ARGB-Farben ändern kann. Ich muss diese Werte jedoch in einen Hex-Wert wie 0xff000000 konvertieren, der durchgehend schwarz ist.

Das habe ich bisher:

<code>protected int toHex(Color col) {
    String as = pad(Integer.toHexString(col.getAlpha()));
    String rs = pad(Integer.toHexString(col.getRed()));
    String gs = pad(Integer.toHexString(col.getGreen()));
    String bs = pad(Integer.toHexString(col.getBlue()));
    String hex = "0x" + as + rs + gs + bs;
    return Integer.parseInt(hex, 16);
}

private static final String pad(String s) {
    return (s.length() == 1) ? "0" + s : s;
}
</code>

Wenn ich jedoch den Integer-Wert wie folgt erhalte, erhalte ich eine NumberFormatException für die Eingabezeichenfolge: "0xccffffff":

<code>int color = toHex(new Color(153f, 153f, 153f, 0.80f));
</code>

Irgendwelche Ideen, wie man das auf eine Ganzzahl bringt? Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage