Source of MultipleFaces.java


  1: 
  2: 
  3: import javax.swing.*;
  4: import java.awt.*;
  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_DEGREES_SHOWN = 180;
 29: 
 30:     public void paint(Graphics canvas)
 31:     {
 32:         int i;
 33:         for (i = 0; i < 5; i++)
 34:         {//Draw one face:
 35:             //Draw face circle:
 36:             if (i%2 == 0)//if i is even
 37:             {//Make face yellow
 38:                 canvas.setColor(Color.YELLOW);
 39:                 canvas.fillOval(X_FACE0 + 50*i, Y_FACE0 + 30*i,
 40:                             FACE_DIAMETER, FACE_DIAMETER);
 41:             }
 42:             canvas.setColor(Color.BLACK);
 43:             canvas.drawOval(X_FACE0 + 50*i, Y_FACE0 + 30*i,
 44:                             FACE_DIAMETER, FACE_DIAMETER);
 45:             //Draw eyes:
 46:             canvas.setColor(Color.BLUE);
 47:             canvas.fillOval(X_RIGHT_EYE0 + 50*i, Y_RIGHT_EYE0 + 30*i,
 48:                                    EYE_WIDTH, EYE_HEIGHT);
 49:             canvas.fillOval(X_LEFT_EYE0 + 50*i, Y_LEFT_EYE0 + 30*i,
 50:                                    EYE_WIDTH, EYE_HEIGHT);
 51:             //Draw nose:
 52:             canvas.setColor(Color.BLACK);
 53:             canvas.fillOval(X_NOSE0 + 50*i, Y_NOSE0 + 30*i,
 54:                                    NOSE_DIAMETER, NOSE_DIAMETER);
 55:             //Draw mouth:
 56:             canvas.setColor(Color.RED);
 57:             canvas.drawArc(X_MOUTH0 + 50*i, Y_MOUTH0 + 30*i,
 58:                                 MOUTH_WIDTH, MOUTH_HEIGHT0 + 3*i,
 59:                                 MOUTH_START_ANGLE, MOUTH_DEGREES_SHOWN);
 60:         }
 61:         //i == 5
 62: 
 63:         //Draw kissing face:
 64:         //Draw face circle:
 65:         canvas.setColor(Color.BLACK);
 66:         canvas.drawOval(X_FACE0 + 50*i, Y_FACE0 + 30*i,
 67:                               FACE_DIAMETER, FACE_DIAMETER);
 68:         //Draw eyes:
 69:         canvas.setColor(Color.BLUE);
 70:         canvas.fillOval(X_RIGHT_EYE0 + 50*i, Y_RIGHT_EYE0 + 30*i,
 71:                              EYE_WIDTH, EYE_HEIGHT);
 72:         canvas.fillOval(X_LEFT_EYE0 + 50*i, Y_LEFT_EYE0 + 30*i,
 73:                              EYE_WIDTH, EYE_HEIGHT);
 74:         //Draw nose:
 75:         canvas.setColor(Color.BLACK);
 76:         canvas.fillOval(X_NOSE0 + 50*i, Y_NOSE0 + 30*i,
 77:                              NOSE_DIAMETER, NOSE_DIAMETER);
 78:         //Draw mouth in shape of a kiss:
 79:         canvas.setColor(Color.RED);
 80:         canvas.fillOval(X_MOUTH0 + 50*i + 10, Y_MOUTH0 + 30*i,
 81:                             MOUTH_WIDTH - 20, MOUTH_WIDTH - 20);
 82:         //Add text:
 83:         canvas.drawString("Kiss, Kiss.",
 84:                       X_FACE0 + 50*i + FACE_DIAMETER, Y_FACE0 + 30*i);
 85: 
 86: 
 87:         //Draw blushing face:
 88:         i++;
 89:         //Draw face circle:
 90:         canvas.setColor(Color.PINK);
 91:         canvas.fillOval(X_FACE0 + 50*i, Y_FACE0 + 30*i,
 92:                                 FACE_DIAMETER, FACE_DIAMETER);
 93:         canvas.setColor(Color.BLACK);
 94:         canvas.drawOval(X_FACE0 + 50*i, Y_FACE0 + 30*i,
 95:                                FACE_DIAMETER, FACE_DIAMETER);
 96:         //Draw eyes:
 97:         canvas.setColor(Color.BLUE);
 98:         canvas.fillOval(X_RIGHT_EYE0 + 50*i, Y_RIGHT_EYE0 + 30*i,
 99:                               EYE_WIDTH, EYE_HEIGHT);
100:         canvas.fillOval(X_LEFT_EYE0 + 50*i, Y_LEFT_EYE0 + 30*i,
101:                             EYE_WIDTH, EYE_HEIGHT);
102:         //Draw nose:
103:         canvas.setColor(Color.BLACK);
104:         canvas.fillOval(X_NOSE0 + 50*i, Y_NOSE0 + 30*i,
105:                            NOSE_DIAMETER, NOSE_DIAMETER);
106:         //Draw mouth:
107:         canvas.setColor(Color.RED);
108:         canvas.drawArc(X_MOUTH0 + 50*i, Y_MOUTH0 + 30*i, MOUTH_WIDTH,
109:                             MOUTH_HEIGHT0 + 3*4,//i == 4 is the smile
110:                             MOUTH_START_ANGLE, MOUTH_DEGREES_SHOWN);
111:         //Add text:
112:         canvas.drawString("Tee Hee.",
113:                     X_FACE0 + 50*i + FACE_DIAMETER, Y_FACE0 + 30*i);
114:     }
115: }