<< Chapter < Page | Chapter >> Page > |
Before getting into the details of the class, I will explain the color palette. The color palette is produced by a method named getColorPalette , shown in its entirety in Listing 26 . This is a utility method that is called by the inner classes named CanvasType2surface and CanvasType2scale .
Listing 26. The method named getColorPalette. |
---|
Color[] getColorPalette(){//Note that the following is an initialized
// 1D array of type Color.Color[] colorPalette = {Color.BLACK,// 0, 0, 0
Color.GRAY,// 128,128,128Color.LIGHT_GRAY,// 192,192,192
Color.BLUE,// 0, 0,255new Color(100,100,255),//100,100,255
new Color(140,140,255),//140,140,255new Color(175,175,255),//175,175,255
Color.CYAN,// 0,255,255new Color(140,255,255),//140,255,255
Color.GREEN,// 0,255, 0new Color(140,255,140),//140,255,140
new Color(200,255,200),//200,255,200Color.PINK,// 255,175,175
new Color(255,140,255),//255,140,255Color.MAGENTA,// 255, 0,255
new Color(255,0,140), //255, 0,140Color.RED,// 255, 0, 0
new Color(255,100,0),// 255,100, 0Color.ORANGE,// 255,200, 0
new Color(255,225,0),// 255,225, 0Color.YELLOW,// 255,255, 0
new Color(255,255,150),//255,255,150Color.WHITE};// 255,255,255return colorPalette;
}//end getColorPalette |
The purpose of this method is to establish a color palette containing references to Color objects representing 23 distinct colors and shades of gray. The references are stored in a one-dimensional array object aselement type Color . The values shown in comments in Listing 26 represent the values of red, green, and blue required to produce that specificcolor.
As you can see, some of the elements in the array refer to Color objects defined as named constants (public final variables) in the Color class. Other elements in the array refer to Color objects that are instantiated using red, green, and blue color values of my ownchoosing. The actual colors represented by these objects, going from top to bottom, match the colors shown in the calibration scale for the rightmost imagein Figure 1 .
If you would like to do so, you can rearrange the colors in the array. This will result in different colors being adjacent to one another in the calibrationscale. Also if you would like to do so, you can remove colors from the array or add new colors of your own choosing to the array. The overridden paint methodsin the classes named CanvasType2surface and CanvasType2scale are designed to take such changes into account.
You can view the entire class named CanvasType2surface in Listing 29 near the end of the module. Because of the similarity of this class to others that I have previously discussed, I will limit my discussion to theportions of the overridden paint method that distinguish this class from the others.
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?