Source of Junk.java


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