1 /* 2 * File: ColorBoxes4.java 3 * 4 * Display built-in colors with labels, a 2D array, and a nested loop 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 ColorBoxes4 extends Applet { 16 17 // Initialize two-dimensional color array: 18 private Color color[][] = { 19 { Color.black, Color.blue, Color.cyan, Color.darkGray }, 20 { Color.gray, Color.green, Color.lightGray, Color.magenta }, 21 { Color.orange, Color.pink, Color.red, Color.white }, 22 { Color.yellow } 23 }; 24 25 // Initialize two-dimensional array of color strings: 26 private String colorString[][] = { 27 { "black", "blue", "cyan", "darkGray" }, 28 { "gray", "green", "lightGray", "magenta" }, 29 { "orange", "pink", "red", "white" }, 30 { "yellow" } 31 }; 32 33 public void paint( Graphics g ) { 34 35 FontMetrics fm = g.getFontMetrics(); 36 int descender = fm.getDescent(); 37 38 // Draw rows of color boxes: 39 for ( int i = 0; i < color.length; i++ ) { 40 for ( int j = 0; j < color[i].length; j++ ) { 41 g.setColor( color[i][j] ); 42 g.fillRect( 10 + 70*j, 10 + 70*i, 50, 50 ); 43 g.setColor( Color.black ); 44 g.drawString( colorString[i][j], 10 + 70*j, 10 + 70*i - descender ); 45 } 46 } 47 48 } 49 50 } 51