Source of HappyFaceJFrame.java


  1: import javax.swing.JFrame;
  2: import java.awt.Graphics;
  3: 
  4: public class HappyFaceJFrame extends JFrame
  5: {
  6:     public static final int FACE_DIAMETER = 200;
  7:     public static final int X_FACE = 100;
  8:     public static final int Y_FACE = 50;
  9: 
 10:     public static final int EYE_WIDTH = 10;
 11:     public static final int EYE_HEIGHT = 20;
 12:     public static final int X_RIGHT_EYE = 155;
 13:     public static final int Y_RIGHT_EYE = 100;
 14:     public static final int X_LEFT_EYE = 230;
 15:     public static final int Y_LEFT_EYE = Y_RIGHT_EYE;
 16: 
 17:     public static final int MOUTH_WIDTH = 100;
 18:     public static final int MOUTH_HEIGHT = 50;
 19:     public static final int X_MOUTH = 150;
 20:     public static final int Y_MOUTH = 160;
 21:     public static final int MOUTH_START_ANGLE = 180;
 22:     public static final int MOUTH_DEGREES_SHOWN = 180;
 23: 
 24:     public void paint(Graphics canvas)
 25:     {
 26:         //Draw face outline:
 27:         canvas.drawOval(X_FACE, Y_FACE, FACE_DIAMETER, FACE_DIAMETER);
 28:         //Draw eyes:
 29:         canvas.fillOval(X_RIGHT_EYE, Y_RIGHT_EYE, EYE_WIDTH, EYE_HEIGHT);
 30:         canvas.fillOval(X_LEFT_EYE, Y_LEFT_EYE, EYE_WIDTH, EYE_HEIGHT);
 31:         //Draw mouth:
 32:         canvas.drawArc(X_MOUTH, Y_MOUTH, MOUTH_WIDTH, MOUTH_HEIGHT,
 33:                        MOUTH_START_ANGLE, MOUTH_DEGREES_SHOWN);
 34:     }
 35: 
 36:         public HappyFaceJFrame()
 37:         {
 38:                 setSize(600,400);
 39:                 setDefaultCloseOperation(EXIT_ON_CLOSE);
 40:         }
 41: 
 42:         public static void main(String[] args)
 43:         {
 44:                 HappyFaceJFrame guiWindow = new HappyFaceJFrame();
 45:                 guiWindow.setVisible(true);
 46:         }
 47: }