public class MultipleFaces extends JApplet
1: //MultipleFaces.java
2:
3: import javax.swing.JApplet;
4: import java.awt.Graphics;
5: import java.awt.Color;
6:
7: public class MultipleFaces extends JApplet
8: {
9: public static final int FACE_DIAMETER = 50;
10: public static final int X_FACE0 = 10;
11: public static final int Y_FACE0 = 5;
12:
13: public static final int EYE_WIDTH = 5;
14: public static final int EYE_HEIGHT = 10;
15: public static final int X_RIGHT_EYE0 = 20;
16: public static final int Y_RIGHT_EYE0 = 15;
17: public static final int X_LEFT_EYE0 = 45;
18: public static final int Y_LEFT_EYE0 = Y_RIGHT_EYE0;
19:
20: public static final int NOSE_DIAMETER = 5;
21: public static final int X_NOSE0 = 32;
22: public static final int Y_NOSE0 = 25;
23:
24: public static final int MOUTH_WIDTH = 30;
25: public static final int MOUTH_HEIGHT0 = 0;
26: public static final int X_MOUTH0 = 20;
27: public static final int Y_MOUTH0 = 35;
28: public static final int MOUTH_START_ANGLE = 180;
29: public static final int MOUTH_EXTENT_ANGLE = 180;
30:
31: public void paint(Graphics canvas)
32: {
33: int i, xOffset, yOffset; //Want i to exist after the loop ends
34:
35: for (i = 0; i <= 4; i++)
36: {//Draw one face:
37: xOffset = 50 * i;
38: yOffset = 30 * i;
39:
40: //Draw face circle:
41: if (i % 2 == 0)//if i is even
42: {//Make face yellow
43: canvas.setColor(Color.YELLOW);
44: canvas.fillOval(X_FACE0 + xOffset, Y_FACE0 + 30 * i,
45: FACE_DIAMETER, FACE_DIAMETER);
46: }
47: canvas.setColor(Color.BLACK);
48: canvas.drawOval(X_FACE0 + xOffset, Y_FACE0 + yOffset,
49: FACE_DIAMETER, FACE_DIAMETER);
50: //Draw eyes:
51: canvas.setColor(Color.BLUE);
52: canvas.fillOval(X_RIGHT_EYE0 + xOffset, Y_RIGHT_EYE0 + yOffset,
53: EYE_WIDTH, EYE_HEIGHT);
54: canvas.fillOval(X_LEFT_EYE0 + xOffset, Y_LEFT_EYE0 + yOffset,
55: EYE_WIDTH, EYE_HEIGHT);
56: //Draw nose:
57: canvas.setColor(Color.BLACK);
58: canvas.fillOval(X_NOSE0 + xOffset, Y_NOSE0 + yOffset,
59: NOSE_DIAMETER, NOSE_DIAMETER);
60: //Draw mouth:
61: canvas.setColor(Color.RED);
62: canvas.drawArc(X_MOUTH0 + xOffset, Y_MOUTH0 + yOffset,
63: MOUTH_WIDTH, MOUTH_HEIGHT0 + 3 * i,
64: MOUTH_START_ANGLE, MOUTH_EXTENT_ANGLE);
65: }
66: //i is 5 when the previous loop ends
67: xOffset = 50 * i;
68: yOffset = 30 * i;
69:
70: //Draw kissing face:
71: //Draw face circle:
72: canvas.setColor(Color.BLACK);
73: canvas.drawOval(X_FACE0 + xOffset, Y_FACE0 + yOffset,
74: FACE_DIAMETER, FACE_DIAMETER);
75: //Draw eyes:
76: canvas.setColor(Color.BLUE);
77: canvas.fillOval(X_RIGHT_EYE0 + xOffset, Y_RIGHT_EYE0 + yOffset,
78: EYE_WIDTH, EYE_HEIGHT);
79: canvas.fillOval(X_LEFT_EYE0 + xOffset, Y_LEFT_EYE0 + yOffset,
80: EYE_WIDTH, EYE_HEIGHT);
81: //Draw nose:
82: canvas.setColor(Color.BLACK);
83: canvas.fillOval(X_NOSE0 + xOffset, Y_NOSE0 + yOffset,
84: NOSE_DIAMETER, NOSE_DIAMETER);
85: //Draw mouth in shape of a kiss:
86: canvas.setColor(Color.RED);
87: canvas.fillOval(X_MOUTH0 + xOffset + 10, Y_MOUTH0 + yOffset,
88: MOUTH_WIDTH - 20, MOUTH_WIDTH - 20);
89: //Add text:
90: canvas.drawString("Kiss, Kiss.",
91: X_FACE0 + xOffset + FACE_DIAMETER, Y_FACE0 + yOffset);
92:
93:
94: //Draw blushing face:
95: i++;
96: xOffset = 50 * i;
97: yOffset = 30 * i;
98:
99: //Draw face circle:
100: canvas.setColor(Color.PINK);
101: canvas.fillOval(X_FACE0 + xOffset, Y_FACE0 + yOffset,
102: FACE_DIAMETER, FACE_DIAMETER);
103: canvas.setColor(Color.BLACK);
104: canvas.drawOval(X_FACE0 + xOffset, Y_FACE0 + yOffset,
105: FACE_DIAMETER, FACE_DIAMETER);
106: //Draw eyes:
107: canvas.setColor(Color.BLUE);
108: canvas.fillOval(X_RIGHT_EYE0 + xOffset, Y_RIGHT_EYE0 + yOffset,
109: EYE_WIDTH, EYE_HEIGHT);
110: canvas.fillOval(X_LEFT_EYE0 + xOffset, Y_LEFT_EYE0 + yOffset,
111: EYE_WIDTH, EYE_HEIGHT);
112: //Draw nose:
113: canvas.setColor(Color.BLACK);
114: canvas.fillOval(X_NOSE0 + xOffset, Y_NOSE0 + yOffset,
115: NOSE_DIAMETER, NOSE_DIAMETER);
116: //Draw mouth:
117: canvas.setColor(Color.RED);
118: canvas.drawArc(X_MOUTH0 + xOffset, Y_MOUTH0 + yOffset, MOUTH_WIDTH,
119: MOUTH_HEIGHT0 + 3 * (i - 2),
120: MOUTH_START_ANGLE, MOUTH_EXTENT_ANGLE);
121: //Add text:
122: canvas.drawString("Tee Hee.",
123: X_FACE0 + xOffset + FACE_DIAMETER, Y_FACE0 + yOffset);
124: }
125: }