Package de.willuhn.util
Class ColorGenerator
- java.lang.Object
-
- de.willuhn.util.ColorGenerator
-
public class ColorGenerator extends java.lang.Object
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
Fields Modifier and Type Field Description static int
PALETTE_ECLIPSE
Konstante, um mit den Eclipse-Farben zu beginnen.static int
PALETTE_OFFICE
Konstante, um mit den Office-Farben zu beginnen.static int
PALETTE_PASTEL
Konstante, um mit den Pastel-Farben zu beginnen.static int
PALETTE_RICH
Konstante, um mit den satten Farben zu beginnen.
-
Constructor Summary
Constructors Constructor Description ColorGenerator()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int[]
create(int pos)
Erzeugt die RGB-Werte fuer eine Farbe.static void
main(java.lang.String[] args)
Main-Methode, falls man den mal von der Konsole aus nutzen will.
-
-
-
Field Detail
-
PALETTE_ECLIPSE
public static final int PALETTE_ECLIPSE
Konstante, um mit den Eclipse-Farben zu beginnen.- See Also:
- Constant Field Values
-
PALETTE_PASTEL
public static final int PALETTE_PASTEL
Konstante, um mit den Pastel-Farben zu beginnen.- See Also:
- Constant Field Values
-
PALETTE_RICH
public static final int PALETTE_RICH
Konstante, um mit den satten Farben zu beginnen.- See Also:
- Constant Field Values
-
PALETTE_OFFICE
public static final int PALETTE_OFFICE
Konstante, um mit den Office-Farben zu beginnen.- See Also:
- Constant Field Values
-
-
Method Detail
-
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
public static final void main(java.lang.String[] args) throws java.lang.Exception
Main-Methode, falls man den mal von der Konsole aus nutzen will.- Parameters:
args
-- Throws:
java.lang.Exception
-
-