X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Futil%2FColorUtils.java;h=9ed98bd129a9499ea7f02ee2dd6b943225866273;hb=HEAD;hp=60129fb8d634c459f83f152176f03bd7ee8c9caf;hpb=14307f5cfcbc90c419c892434613a500ca550ecc;p=jalview.git diff --git a/src/jalview/util/ColorUtils.java b/src/jalview/util/ColorUtils.java index 60129fb..24128ea 100644 --- a/src/jalview/util/ColorUtils.java +++ b/src/jalview/util/ColorUtils.java @@ -26,12 +26,14 @@ package jalview.util; 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 */ @@ -67,6 +69,18 @@ public class ColorUtils } /** + * + * @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 @@ -219,6 +233,12 @@ public class ColorUtils colour = colour.trim(); Color col = null; + + if ("random".equals(colour)) + { + return generateRandomColor(null); + } + try { int value = Integer.parseInt(colour, 16); @@ -244,7 +264,8 @@ public class ColorUtils 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 } @@ -324,7 +345,7 @@ public class ColorUtils 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)