Package de.willuhn.util
Class ColorGenerator
java.lang.Object
de.willuhn.util.ColorGenerator
Erzeugt Farbcodes aus einem vordefinierten Pool bzw. erzeugt automatisch neue Zufallsfarben.
Damit die Farben nicht bei jedem JVM-Neustart anders gewuerfelt werden, sind die
ersten 36 Farb-Werte statisch und unveraenderlich. Alle darauf folgenden werden
ausgewuerfelt und sind bei jedem JVM-Start anders.
Warum gerade 36 Farbwerte? Mehr hatte ich grad nicht zur Hand ;)
Die Palette der ersten 36 Farben ist thematisch unterteilt. Ab Position 0 kommen
8 Farben aus Eclipse. Die naechsten 8 sind Pastel-Toene. Dann kommen
8 satte Farben. Und ab Position 24 kommen 12 Office-Farben. Abhaengig davon,
mit welchen Farben das Rad beginnen soll, kann man eine der Konstanten PALETTE_*
hinzuaddieren. Wird als zum Beispiel "PALETTE_PASTEL" hinzuaddiert, beginnen die Farben mit
Pastel-Toenen. Danach kommen satte Farben, dann die Office-Farben und anschliessend
zufaellige.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Konstante, um mit den Eclipse-Farben zu beginnen.static final int
Konstante, um mit den Office-Farben zu beginnen.static final int
Konstante, um mit den Pastel-Farben zu beginnen.static final int
Konstante, um mit den satten Farben zu beginnen. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
PALETTE_ECLIPSE
public static final int PALETTE_ECLIPSEKonstante, um mit den Eclipse-Farben zu beginnen.- See Also:
-
PALETTE_PASTEL
public static final int PALETTE_PASTELKonstante, um mit den Pastel-Farben zu beginnen.- See Also:
-
PALETTE_RICH
public static final int PALETTE_RICHKonstante, um mit den satten Farben zu beginnen.- See Also:
-
PALETTE_OFFICE
public static final int PALETTE_OFFICEKonstante, um mit den Office-Farben zu beginnen.- See Also:
-
-
Constructor Details
-
ColorGenerator
public ColorGenerator()
-
-
Method Details
-
create
public static int[] create(int pos) Erzeugt die RGB-Werte fuer eine Farbe.- Parameters:
pos
- Offset. Bei einem Wert zwischen 0 und 35 wird immer die gleiche Farbe aus einer vordefinierten Palette geliefert. Bei hoeheren Werten wird eine zufaellig ausgewuerfelt, die bei jedem Aufruf einen anderen Wert hat. Warum nicht zwei Funktionen - eine fuer die statische Palette und eine fuer Zufalls-Farben? Weil man solche Farbwerte typischerweise zum Zeichnen von Charts (z.Bsp. Kreis- oder Linien-Diagrammen) braucht. Dort hat man eine Liste von Messreihen, die in einer Schleife dem Chart zugeordnet werden. Man kann also einfach den Schleifencounter (meist "int i") einfach uebergeben. Fuer die ersten 36 Zahlenreihen kriegt man feste Farbcodes - fuer alles darueber Zufallsfarben. Da man meist nicht mehr als 36 Zahlenreihen hat, reicht der statische Pool fuer gewoehnlich aus.- Returns:
- RGB-Werte.
-
main
Main-Methode, falls man den mal von der Konsole aus nutzen will.- Parameters:
args
-- Throws:
Exception
-