import java.awt.Color;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import java.util.Random;
public class ColorUtils
{
private static final int MAX_CACHE_SIZE = 1729;
+
/*
* a cache for colours generated from text strings
*/
}
/**
+ *
+ * @return random color
+ */
+ public static final Color getARandomColor()
+ {
+
+ Color col = new Color((int) (Math.random() * 255),
+ (int) (Math.random() * 255), (int) (Math.random() * 255));
+ return col;
+ }
+
+ /**
* Convert to Tk colour code format
*
* @param colour
colour = colour.trim();
Color col = null;
+
+ if ("random".equals(colour))
+ {
+ Random rand = new Random();
+ col = new Color(rand.nextInt(256), rand.nextInt(256),
+ rand.nextInt(256));
+ return col;
+ }
+
try
{
int value = Integer.parseInt(colour, 16);
int b = Integer.parseInt(tokens[2].trim());
col = new Color(r, g, b);
}
- } catch (Exception ex)
+ } catch (IllegalArgumentException ex) // IllegalArgumentException includes
+ // NumberFormatException
{
// non-numeric token or out of 0-255 range
}
return null;
}
Color col = null;
- name = name.toLowerCase();
+ name = name.toLowerCase(Locale.ROOT);
// or make a static map; or use reflection on the field name
switch (name)