Da Google Web Toolkit die Klasse java.awt.Color nicht emuliert, wollte ich fragen, welche Klasse man dann in GWT benutzen kann?
Sie muss eigentlich nicht viel können, nur mit r,g und b Werten initialisiert werden können und ganz toll wäre es, wenn sie noch ein paar HTML-Hilfsmethoden hätte.
Habe mir jetzt erstmal selbst eine geschrieben (siehe unten) aber ich benutze lieber etablierte APIs als das Rad neu zu erfinden und damit später Kompatibilitätsprobleme zu haben.
Sie muss eigentlich nicht viel können, nur mit r,g und b Werten initialisiert werden können und ganz toll wäre es, wenn sie noch ein paar HTML-Hilfsmethoden hätte.
Habe mir jetzt erstmal selbst eine geschrieben (siehe unten) aber ich benutze lieber etablierte APIs als das Rad neu zu erfinden und damit später Kompatibilitätsprobleme zu haben.
Java:
public class Color
{
final int r,g,b;
public static final Color RED = new Color(255,0,0);
public static final Color GREEN = new Color(0,255,0);
public static final Color BLUE = new Color(0,0,255);
/** Java hat ja leider kein unsigned byte*/
public Color(int r, int g, int b)
{
if((r|g|b)>255||((r|g|b))<0) throw new IllegalArgumentException("r, g and b must be unsigned byte values (between 0 and 255 inclusive).");
this.r = r;
this.g = g;
this.b = b;
}
public static Color interpolate(Color color1,Color color2, double x)
{
if(x<0||x>1) throw new IllegalArgumentException("x must lie in [0,1]");
return new Color((int)(color1.r*(1-x)+color2.r*x),(int)(color1.g*(1-x)+color2.g*x),(int)(color1.b*(1-x)+color2.b*x));
}
private String toDoubleDigitHex(int i)
{
return (i<15?"0":"")+toDoubleDigitHex(i);
}
public String toHTMLString()
{
return toDoubleDigitHex(r)+toDoubleDigitHex(g)+toDoubleDigitHex(b);
}
}