Class 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • ColorGenerator

        public ColorGenerator()
    • 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