Class ColorGenerator

java.lang.Object
de.willuhn.util.ColorGenerator

public class ColorGenerator extends 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 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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int[]
    create(int pos)
    Erzeugt die RGB-Werte fuer eine Farbe.
    static final void
    main(String[] args)
    Main-Methode, falls man den mal von der Konsole aus nutzen will.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PALETTE_ECLIPSE

      public static final int PALETTE_ECLIPSE
      Konstante, um mit den Eclipse-Farben zu beginnen.
      See Also:
    • PALETTE_PASTEL

      public static final int PALETTE_PASTEL
      Konstante, um mit den Pastel-Farben zu beginnen.
      See Also:
    • PALETTE_RICH

      public static final int PALETTE_RICH
      Konstante, um mit den satten Farben zu beginnen.
      See Also:
    • PALETTE_OFFICE

      public static final int PALETTE_OFFICE
      Konstante, 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

      public static final void main(String[] args) throws Exception
      Main-Methode, falls man den mal von der Konsole aus nutzen will.
      Parameters:
      args -
      Throws:
      Exception