1  import java.awt.Color;
  2  import java.awt.Graphics;
  3  import java.awt.Graphics2D;
  4  import java.awt.Rectangle;
  5  import java.awt.geom.Ellipse2D;
  6  import java.awt.geom.Line2D;
  7  import javax.swing.JComponent;
  8  
  9  /*
 10     A component that draws an alien face
 11  */
 12  public class FaceComponent extends JComponent
 13  {  
 14     public void paintComponent(Graphics g)
 15     {  
 16        // Recover Graphics2D 
 17        Graphics2D g2 = (Graphics2D) g;
 18  
 19        // Draw the head
 20        Ellipse2D.Double head = new Ellipse2D.Double(5, 10, 100, 150);
 21        g2.draw(head);
 22  
 23        // Draw the eyes
 24        g2.setColor(Color.GREEN);
 25        Rectangle eye = new Rectangle(25, 70, 15, 15);
 26        g2.fill(eye);
 27        eye.translate(50, 0);
 28        g2.fill(eye);
 29  
 30        // Draw the mouth
 31        Line2D.Double mouth = new Line2D.Double(30, 110, 80, 110);
 32        g2.setColor(Color.RED);
 33        g2.draw(mouth);
 34  
 35        // Draw the greeting
 36        g2.setColor(Color.BLUE);
 37        g2.drawString("Hello, World!", 5, 175);
 38     }
 39  }