package com.ximple.eofms.util;
|
|
import java.awt.Color;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class DefaultColorTable implements ColorTableMapping
|
{
|
private static DefaultColorTable _instance = null;
|
|
public static ColorTableMapping getInstance()
|
{
|
if (_instance == null)
|
{
|
_instance = new DefaultColorTable();
|
}
|
|
return _instance;
|
}
|
|
private ArrayList<Color> colortable = null;
|
private DefaultColorTable()
|
{
|
initializeColorTable();
|
}
|
|
private void initializeColorTable()
|
{
|
if (colortable != null)
|
{
|
return;
|
}
|
|
colortable = new ArrayList<Color>(255);
|
colortable.add(0, new Color(255, 255, 255));
|
colortable.add(1, new Color(0, 0, 255));
|
colortable.add(2, new Color(0, 255, 0));
|
colortable.add(3, new Color(255, 0, 0));
|
colortable.add(4, new Color(255, 255, 0));
|
colortable.add(5, new Color(255, 0, 255));
|
colortable.add(6, new Color(255, 127, 0));
|
colortable.add(7, new Color(0, 255, 255));
|
colortable.add(8, new Color(64, 64, 64));
|
colortable.add(9, new Color(192, 192, 192));
|
colortable.add(10, new Color(254, 0, 96));
|
colortable.add(11, new Color(160, 224, 0));
|
colortable.add(12, new Color(0, 254, 160));
|
colortable.add(13, new Color(128, 0, 160));
|
colortable.add(14, new Color(176, 176, 176));
|
colortable.add(15, new Color(0, 240, 240));
|
colortable.add(16, new Color(240, 240, 240));
|
colortable.add(17, new Color(0, 0, 240));
|
colortable.add(18, new Color(0, 240, 0));
|
colortable.add(19, new Color(240, 0, 0));
|
colortable.add(20, new Color(240, 240, 0));
|
colortable.add(21, new Color(240, 0, 240));
|
colortable.add(22, new Color(240, 122, 0));
|
colortable.add(23, new Color(0, 240, 240));
|
colortable.add(24, new Color(240, 240, 240));
|
colortable.add(25, new Color(0, 0, 240));
|
colortable.add(26, new Color(0, 240, 0));
|
colortable.add(27, new Color(240, 0, 0));
|
colortable.add(28, new Color(240, 240, 0));
|
colortable.add(29, new Color(240, 0, 240));
|
colortable.add(30, new Color(240, 122, 0));
|
colortable.add(31, new Color(0, 225, 225));
|
colortable.add(32, new Color(225, 225, 225));
|
colortable.add(33, new Color(0, 0, 225));
|
colortable.add(34, new Color(0, 225, 0));
|
colortable.add(35, new Color(225, 0, 0));
|
colortable.add(36, new Color(225, 225, 0));
|
colortable.add(37, new Color(225, 0, 225));
|
colortable.add(38, new Color(225, 117, 0));
|
colortable.add(39, new Color(0, 225, 225));
|
colortable.add(40, new Color(225, 225, 225));
|
colortable.add(41, new Color(0, 0, 225));
|
colortable.add(42, new Color(0, 225, 0));
|
colortable.add(43, new Color(225, 0, 0));
|
colortable.add(44, new Color(225, 225, 0));
|
colortable.add(45, new Color(225, 0, 225));
|
colortable.add(46, new Color(225, 117, 0));
|
colortable.add(47, new Color(0, 210, 210));
|
colortable.add(48, new Color(210, 210, 210));
|
colortable.add(49, new Color(0, 0, 210));
|
colortable.add(50, new Color(0, 210, 0));
|
colortable.add(51, new Color(210, 0, 0));
|
colortable.add(52, new Color(210, 210, 0));
|
colortable.add(53, new Color(210, 0, 210));
|
colortable.add(54, new Color(210, 112, 0));
|
colortable.add(55, new Color(0, 210, 210));
|
colortable.add(56, new Color(210, 210, 210));
|
colortable.add(57, new Color(0, 0, 210));
|
colortable.add(58, new Color(0, 210, 0));
|
colortable.add(59, new Color(210, 0, 0));
|
colortable.add(60, new Color(210, 210, 0));
|
colortable.add(61, new Color(210, 0, 210));
|
colortable.add(62, new Color(210, 112, 0));
|
colortable.add(63, new Color(0, 195, 195));
|
colortable.add(64, new Color(195, 195, 195));
|
colortable.add(65, new Color(0, 0, 195));
|
colortable.add(66, new Color(0, 195, 0));
|
colortable.add(67, new Color(195, 0, 0));
|
colortable.add(68, new Color(195, 195, 0));
|
colortable.add(69, new Color(195, 0, 195));
|
colortable.add(70, new Color(195, 107, 0));
|
colortable.add(71, new Color(0, 195, 195));
|
colortable.add(72, new Color(195, 195, 195));
|
colortable.add(73, new Color(0, 0, 195));
|
colortable.add(74, new Color(0, 195, 0));
|
colortable.add(75, new Color(195, 0, 0));
|
colortable.add(76, new Color(195, 195, 0));
|
colortable.add(77, new Color(195, 0, 195));
|
colortable.add(78, new Color(195, 107, 0));
|
colortable.add(79, new Color(0, 180, 180));
|
colortable.add(80, new Color(180, 180, 180));
|
colortable.add(81, new Color(0, 0, 180));
|
colortable.add(82, new Color(0, 180, 0));
|
colortable.add(83, new Color(180, 0, 0));
|
colortable.add(84, new Color(180, 180, 0));
|
colortable.add(85, new Color(180, 0, 180));
|
colortable.add(86, new Color(180, 102, 0));
|
colortable.add(87, new Color(0, 180, 180));
|
colortable.add(88, new Color(180, 180, 180));
|
colortable.add(89, new Color(0, 0, 180));
|
colortable.add(90, new Color(0, 180, 0));
|
colortable.add(91, new Color(180, 0, 0));
|
colortable.add(92, new Color(180, 180, 0));
|
colortable.add(93, new Color(180, 0, 180));
|
colortable.add(94, new Color(180, 102, 0));
|
colortable.add(95, new Color(0, 165, 165));
|
colortable.add(96, new Color(165, 165, 165));
|
colortable.add(97, new Color(0, 0, 165));
|
colortable.add(98, new Color(0, 165, 0));
|
colortable.add(99, new Color(165, 0, 0));
|
colortable.add(100, new Color(165, 165, 0));
|
colortable.add(101, new Color(165, 0, 165));
|
colortable.add(102, new Color(165, 97, 0));
|
colortable.add(103, new Color(0, 165, 165));
|
colortable.add(104, new Color(165, 165, 165));
|
colortable.add(105, new Color(0, 0, 165));
|
colortable.add(106, new Color(0, 165, 0));
|
colortable.add(107, new Color(165, 0, 0));
|
colortable.add(108, new Color(165, 165, 0));
|
colortable.add(109, new Color(165, 0, 165));
|
colortable.add(110, new Color(165, 97, 0));
|
colortable.add(111, new Color(0, 150, 150));
|
colortable.add(112, new Color(150, 150, 150));
|
colortable.add(113, new Color(0, 0, 150));
|
colortable.add(114, new Color(0, 150, 0));
|
colortable.add(115, new Color(150, 0, 0));
|
colortable.add(116, new Color(150, 150, 0));
|
colortable.add(117, new Color(150, 0, 150));
|
colortable.add(118, new Color(150, 92, 0));
|
colortable.add(119, new Color(0, 150, 150));
|
colortable.add(120, new Color(150, 150, 150));
|
colortable.add(121, new Color(0, 0, 150));
|
colortable.add(122, new Color(0, 150, 0));
|
colortable.add(123, new Color(150, 0, 0));
|
colortable.add(124, new Color(150, 150, 0));
|
colortable.add(125, new Color(150, 0, 150));
|
colortable.add(126, new Color(150, 92, 0));
|
colortable.add(127, new Color(0, 135, 135));
|
colortable.add(128, new Color(135, 135, 135));
|
colortable.add(129, new Color(0, 0, 135));
|
colortable.add(130, new Color(0, 135, 0));
|
colortable.add(131, new Color(135, 0, 0));
|
colortable.add(132, new Color(135, 135, 0));
|
colortable.add(133, new Color(135, 0, 135));
|
colortable.add(134, new Color(135, 87, 0));
|
colortable.add(135, new Color(0, 135, 135));
|
colortable.add(136, new Color(135, 135, 135));
|
colortable.add(137, new Color(0, 0, 135));
|
colortable.add(138, new Color(0, 135, 0));
|
colortable.add(139, new Color(135, 0, 0));
|
colortable.add(140, new Color(135, 135, 0));
|
colortable.add(141, new Color(135, 0, 135));
|
colortable.add(142, new Color(135, 87, 0));
|
colortable.add(143, new Color(0, 120, 120));
|
colortable.add(144, new Color(120, 120, 120));
|
colortable.add(145, new Color(0, 0, 120));
|
colortable.add(146, new Color(0, 120, 0));
|
colortable.add(147, new Color(120, 0, 0));
|
colortable.add(148, new Color(120, 120, 0));
|
colortable.add(149, new Color(120, 0, 120));
|
colortable.add(150, new Color(120, 82, 0));
|
colortable.add(151, new Color(0, 120, 120));
|
colortable.add(152, new Color(120, 120, 120));
|
colortable.add(153, new Color(0, 0, 120));
|
colortable.add(154, new Color(0, 120, 0));
|
colortable.add(155, new Color(120, 0, 0));
|
colortable.add(156, new Color(120, 120, 0));
|
colortable.add(157, new Color(120, 0, 120));
|
colortable.add(158, new Color(120, 82, 0));
|
colortable.add(159, new Color(0, 105, 105));
|
colortable.add(160, new Color(105, 105, 105));
|
colortable.add(161, new Color(0, 0, 105));
|
colortable.add(162, new Color(0, 105, 0));
|
colortable.add(163, new Color(105, 0, 0));
|
colortable.add(164, new Color(105, 105, 0));
|
colortable.add(165, new Color(105, 0, 105));
|
colortable.add(166, new Color(105, 77, 0));
|
colortable.add(167, new Color(0, 105, 105));
|
colortable.add(168, new Color(105, 105, 105));
|
colortable.add(169, new Color(0, 0, 105));
|
colortable.add(170, new Color(0, 105, 0));
|
colortable.add(171, new Color(105, 0, 0));
|
colortable.add(172, new Color(105, 105, 0));
|
colortable.add(173, new Color(105, 0, 105));
|
colortable.add(174, new Color(105, 77, 0));
|
colortable.add(175, new Color(0, 90, 90));
|
colortable.add(176, new Color(90, 90, 90));
|
colortable.add(177, new Color(0, 0, 90));
|
colortable.add(178, new Color(0, 90, 0));
|
colortable.add(179, new Color(90, 0, 0));
|
colortable.add(180, new Color(90, 90, 0));
|
colortable.add(181, new Color(90, 0, 90));
|
colortable.add(182, new Color(90, 72, 0));
|
colortable.add(183, new Color(0, 90, 90));
|
colortable.add(184, new Color(90, 90, 90));
|
colortable.add(185, new Color(0, 0, 90));
|
colortable.add(186, new Color(0, 90, 0));
|
colortable.add(187, new Color(90, 0, 0));
|
colortable.add(188, new Color(90, 90, 0));
|
colortable.add(189, new Color(90, 0, 90));
|
colortable.add(190, new Color(90, 72, 0));
|
colortable.add(191, new Color(0, 75, 75));
|
colortable.add(192, new Color(75, 75, 75));
|
colortable.add(193, new Color(0, 0, 75));
|
colortable.add(194, new Color(0, 75, 0));
|
colortable.add(195, new Color(75, 0, 0));
|
colortable.add(196, new Color(75, 75, 0));
|
colortable.add(197, new Color(75, 0, 75));
|
colortable.add(198, new Color(75, 67, 0));
|
colortable.add(199, new Color(0, 75, 75));
|
colortable.add(200, new Color(75, 75, 75));
|
colortable.add(201, new Color(0, 0, 75));
|
colortable.add(202, new Color(0, 75, 0));
|
colortable.add(203, new Color(75, 0, 0));
|
colortable.add(204, new Color(75, 75, 0));
|
colortable.add(205, new Color(75, 0, 75));
|
colortable.add(206, new Color(75, 67, 0));
|
colortable.add(207, new Color(0, 60, 60));
|
colortable.add(208, new Color(60, 60, 60));
|
colortable.add(209, new Color(0, 0, 60));
|
colortable.add(210, new Color(0, 60, 0));
|
colortable.add(211, new Color(60, 0, 0));
|
colortable.add(212, new Color(60, 60, 0));
|
colortable.add(213, new Color(60, 0, 60));
|
colortable.add(214, new Color(60, 62, 0));
|
colortable.add(215, new Color(0, 60, 60));
|
colortable.add(216, new Color(60, 60, 60));
|
colortable.add(217, new Color(0, 0, 60));
|
colortable.add(218, new Color(0, 60, 0));
|
colortable.add(219, new Color(60, 0, 0));
|
colortable.add(220, new Color(60, 60, 0));
|
colortable.add(221, new Color(60, 0, 60));
|
colortable.add(222, new Color(60, 62, 0));
|
colortable.add(223, new Color(0, 45, 45));
|
colortable.add(224, new Color(45, 45, 45));
|
colortable.add(225, new Color(0, 0, 45));
|
colortable.add(226, new Color(0, 45, 0));
|
colortable.add(227, new Color(45, 0, 0));
|
colortable.add(228, new Color(45, 45, 0));
|
colortable.add(229, new Color(45, 0, 45));
|
colortable.add(230, new Color(45, 57, 0));
|
colortable.add(231, new Color(0, 45, 45));
|
colortable.add(232, new Color(45, 45, 45));
|
colortable.add(233, new Color(0, 0, 45));
|
colortable.add(234, new Color(0, 45, 0));
|
colortable.add(235, new Color(45, 0, 0));
|
colortable.add(236, new Color(45, 45, 0));
|
colortable.add(237, new Color(45, 0, 45));
|
colortable.add(238, new Color(45, 57, 0));
|
colortable.add(239, new Color(0, 30, 30));
|
colortable.add(240, new Color(30, 30, 30));
|
colortable.add(241, new Color(0, 0, 30));
|
colortable.add(242, new Color(0, 30, 0));
|
colortable.add(243, new Color(30, 0, 0));
|
colortable.add(244, new Color(30, 30, 0));
|
colortable.add(245, new Color(30, 0, 30));
|
colortable.add(246, new Color(30, 52, 0));
|
colortable.add(247, new Color(0, 30, 30));
|
colortable.add(248, new Color(30, 30, 30));
|
colortable.add(249, new Color(0, 0, 30));
|
colortable.add(250, new Color(0, 30, 0));
|
colortable.add(251, new Color(30, 0, 0));
|
colortable.add(252, new Color(30, 30, 0));
|
colortable.add(253, new Color(30, 0, 30));
|
colortable.add(254, new Color(30, 52, 0));
|
}
|
|
public List findId(Color color)
|
{
|
ArrayList<Integer> codelist = new ArrayList<Integer>();
|
for (int i = 0; i < colortable.size(); i++)
|
{
|
Color colorDef = colortable.get(i);
|
if (colorDef.equals(color))
|
{
|
codelist.add(i);
|
}
|
}
|
return codelist;
|
}
|
|
public Color getColor(int i)
|
{
|
return colortable.get(i);
|
}
|
|
public String getColorCode(int i)
|
{
|
Color color = colortable.get(i);
|
if (!color.equals(Color.WHITE))
|
return colorToString(colortable.get(i));
|
return colorToString(Color.GRAY);
|
}
|
|
public boolean contain(Color color)
|
{
|
for (Color colorDef : colortable)
|
{
|
if (colorDef.equals(color))
|
{
|
return true;
|
}
|
}
|
return false;
|
}
|
|
private static String colorToString(Color c) {
|
char[] buf = new char[7];
|
buf[0] = '#';
|
String s = Integer.toHexString(c.getRed());
|
if (s.length() == 1) {
|
buf[1] = '0';
|
buf[2] = s.charAt(0);
|
}
|
else {
|
buf[1] = s.charAt(0);
|
buf[2] = s.charAt(1);
|
}
|
s = Integer.toHexString(c.getGreen());
|
if (s.length() == 1) {
|
buf[3] = '0';
|
buf[4] = s.charAt(0);
|
}
|
else {
|
buf[3] = s.charAt(0);
|
buf[4] = s.charAt(1);
|
}
|
s = Integer.toHexString(c.getBlue());
|
if (s.length() == 1) {
|
buf[5] = '0';
|
buf[6] = s.charAt(0);
|
}
|
else {
|
buf[5] = s.charAt(0);
|
buf[6] = s.charAt(1);
|
}
|
return String.valueOf(buf);
|
}
|
}
|