public static void gradient(Graphics g, int color1, int color2, int left, int top, int width, int height, int orientation, int VERTICAL, boolean round) {
int max = orientation == VERTICAL ? height : width;
for (int i = 0; i < max; i++) {
int color = midColor(color1, color2, max * (max - 1 - i) / (max - 1), max);
g.setColor(color);
if (orientation == VERTICAL) {
if (i == 0 && round) {
g.drawLine(left + 3, top + i, left + width - 4, top + i);
} else if (i < 3 && round) {
g.drawLine(left + 1, top + i, left + width - 2, top + i);
} else {
g.drawLine(left, top + i, left + width - 1, top + i);
}
} else {
g.drawLine(left + i, top, left + i, top + height - 1);
}
}
}
public static int midColor(int color1, int color2, int prop, int max) {
int red = (((color1 >> 16) & 0xff) * prop + ((color2 >> 16) & 0xff) * (max - prop)) / max;
int green = (((color1 >> 8) & 0xff) * prop + ((color2 >> 8) & 0xff) * (max - prop)) / max;
int blue = (((color1 >> 0) & 0xff) * prop + ((color2 >> 0) & 0xff) * (max - prop)) / max;
int color = red << 16 | green << 8 | blue;
return color;
}
Wednesday, July 28, 2010
Split Function
public static String[] split(String s, char separator) {
Vector v = new Vector();
for (int ini = 0, end = 0; ini < s.length(); ini = end + 1) {
end = s.indexOf(separator, ini);
if (end == -1) {
end = s.length();
}
String st = s.substring(ini, end).trim();
if (st.length() > 0) {
v.addElement(st);
} else {
v.addElement("null");
}
}
String temp[] = new String[v.size()];
v.copyInto(temp);
return temp;
}
Vector v = new Vector();
for (int ini = 0, end = 0; ini < s.length(); ini = end + 1) {
end = s.indexOf(separator, ini);
if (end == -1) {
end = s.length();
}
String st = s.substring(ini, end).trim();
if (st.length() > 0) {
v.addElement(st);
} else {
v.addElement("null");
}
}
String temp[] = new String[v.size()];
v.copyInto(temp);
return temp;
}
Subscribe to:
Posts (Atom)