import java.awt.Color; /** * A quick hack just for fun -- randomly chooses the colors of all the display items. * @author mds * */ public class RandomColorMap implements IColorMap { java.util.HashMap m_colorMap; java.util.Random m_random = null; Color getRandColor() { if(m_random == null) { m_random = new java.util.Random(); } return new Color( Math.abs(m_random.nextInt()) % 256, Math.abs(m_random.nextInt()) % 256, Math.abs(m_random.nextInt()) % 256); } int m_nLineThick; public RandomColorMap() { m_colorMap = new java.util.HashMap(); // put colors here m_colorMap.put(0, getRandColor()); m_colorMap.put(1, getRandColor()); m_colorMap.put(2,getRandColor()); m_colorMap.put(3,getRandColor()); m_colorMap.put(4,getRandColor()); m_colorMap.put(5,getRandColor()); m_colorMap.put(6,getRandColor()); m_colorMap.put(7,getRandColor()); m_colorMap.put(8,getRandColor()); m_colorMap.put(9,getRandColor()); m_colorMap.put(10,getRandColor()); m_colorMap.put(11,getRandColor()); m_colorMap.put(12,getRandColor()); m_nLineThick = 1 + Math.abs(m_random.nextInt()) % 5; } public Color getColor(Integer idx) { return m_colorMap.get(idx); } public Integer getMaxColor() { return m_colorMap.size(); } public boolean overridesLineThickness() { return true; } public int getLineThick() { return m_nLineThick; } public java.awt.Color getTextColor(Integer nImportance) { return getColor(5); } /** * Returns null if this implementation doesn't supply a font * @return */ public java.awt.Font getFont() { return null; } }