1 /* 2 * File: ColorBoxes3.java 3 * 4 * Display built-in colors with labels, arrays, and loops 5 * 6 * Copyright: Northeast Parallel Architectures Center 7 * 8 */ 9 10 import java.applet.Applet; 11 import java.awt.Graphics; 12 import java.awt.Color; 13 import java.awt.FontMetrics; 14 15 public class ColorBoxes3 extends Applet { 16 17 // initialize color arrays: 18 Color firstRowColor[] = { Color.black, Color.blue, Color.cyan, Color.darkGray }; 19 Color secondRowColor[] = { Color.gray, Color.green, Color.lightGray, Color.magenta }; 20 Color thirdRowColor[] = { Color.orange, Color.pink, Color.red, Color.white }; 21 Color fourthRowColor[] = { Color.yellow }; 22 23 public void paint( Graphics g ) { 24 25 FontMetrics fm = g.getFontMetrics(); 26 int descender = fm.getDescent(); 27 28 // Draw the first row of color boxes: 29 for ( int j = 0; j < 4; j++ ) { 30 g.setColor( firstRowColor[j] ); 31 g.fillRect( 10 + 70*j, 10, 50, 50 ); 32 g.setColor( Color.black ); 33 g.drawString( toString( firstRowColor[j] ), 10 + 70*j, 10 - descender ); 34 } 35 36 // Draw the second row of color boxes: 37 for ( int j = 0; j < 4; j++ ) { 38 g.setColor( secondRowColor[j] ); 39 g.fillRect( 10 + 70*j, 80, 50, 50 ); 40 g.setColor( Color.black ); 41 g.drawString( toString( secondRowColor[j] ), 10 + 70*j, 80 - descender ); 42 } 43 44 // Draw the third row of color boxes: 45 for ( int j = 0; j < 4; j++ ) { 46 g.setColor( thirdRowColor[j] ); 47 g.fillRect( 10 + 70*j, 150, 50, 50 ); 48 g.setColor( Color.black ); 49 g.drawString( toString( thirdRowColor[j] ), 10 + 70*j, 150 - descender ); 50 } 51 52 // Draw the fourth row of color boxes: 53 for ( int j = 0; j < 1; j++ ) { 54 g.setColor( fourthRowColor[j] ); 55 g.fillRect( 10 + 70*j, 220, 50, 50 ); 56 g.setColor( Color.black ); 57 g.drawString( toString( fourthRowColor[j] ), 10 + 70*j, 220 - descender ); 58 } 59 60 } 61 62 public String toString( Color c ) { 63 64 if ( c.equals( Color.black ) ) { 65 return "black"; 66 } else if ( c.equals( Color.blue ) ) { 67 return "blue"; 68 } else if ( c.equals( Color.cyan ) ) { 69 return "cyan"; 70 } else if ( c.equals( Color.darkGray ) ) { 71 return "darkGray"; 72 } else if ( c.equals( Color.gray ) ) { 73 return "gray"; 74 } else if ( c.equals( Color.green ) ) { 75 return "green"; 76 } else if ( c.equals( Color.lightGray ) ) { 77 return "lightGray"; 78 } else if ( c.equals( Color.magenta ) ) { 79 return "magenta"; 80 } else if ( c.equals( Color.orange ) ) { 81 return "orange"; 82 } else if ( c.equals( Color.pink ) ) { 83 return "pink"; 84 } else if ( c.equals( Color.red ) ) { 85 return "red"; 86 } else if ( c.equals( Color.white ) ) { 87 return "white"; 88 } else if ( c.equals( Color.yellow ) ) { 89 return "yellow"; 90 } else { 91 return "unknown"; 92 } 93 94 } 95 96 } 97