Java's integer covers values from -2^31 to 2^31-1 (2147483647). Your value is (4281297749) in decimal which is too big for java's integer.
Java's long covers a much higher range of -2^63 to 2^63-1. Which includes your value, so a suggestion would be to use Long.valueOf(colorStr, 16)
and switch to using longs. (A suggestion that comes into play when the values that you are working with are outside of the range of integer values).
It seemed to me that you were aware, but in case you were not; the 0x
should be removed if it is part of the string value, as it will give an invalid format exception if left in.