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