Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Spring Framework | Web Services | BioInformatics | Java Server Faces | Jboss 3.0 tutorial | Hibernate 3.0 | XML
 
 
Hot Web Programming Job

 

Tutorial Categories: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML

[an error occurred while processing this directive]

Java: Example - Drawing a Face - v4

Instance variables representing the state

This Face class is essentially the same are the previous example, but instance variables are used to represent some of the important characteristics of the drawing. These could be declared as constants (static final), but we're going to change them in the next example.

Main is the same as previous version.

Face with instance variables

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
// File: face/file2/Face.java 
// Author: Fred Swartz,  Date: July 1998 ... Oct 2004

import java.awt.*;
import javax.swing.*;

//////////////////////////////////////////////////////////////// class Face
class Face extends JPanel {
    //... Instance variables that define the "state" of the face.
    int mouthAngle   = 60;  // Number of degrees open the mouth is.
    int eyeDiameter  = 20;  // Size of the eye.
    int headDiameter = 200; // Size of the head.

    /** Constructor sets background color and initial size. */
    public Face() {
        this.setPreferredSize(new Dimension(300, 300));
        this.setBackground(Color.GRAY);
    }

    /** Override paintComponent to draw a face */
    public void paintComponent(Graphics g) {
        super.paintComponent(g);   // Required as first line.
        
        //... Get panel width and height, Compute center.
        int w = this.getWidth();
        int h = this.getHeight();
        int centerX = w / 2;  // x-coordinate of the center.
        int centerY = h / 2;  // y-coordinate of the center.
        
        //... Draw vertical lines in the background.
        g.setColor(Color.LIGHT_GRAY);
        for (int x=0; x < w; x += 10) {
            g.drawLine(x, 0, x, h);
        }

        //... Draw everything except the mouth in pink
        g.setColor(Color.PINK);
        g.fillArc(centerX - headDiameter / 2, centerY - headDiameter / 2
                 , headDiameter, headDiameter
                 , mouthAngle / 2, 360 - mouthAngle);

        //... Draw an eye
        g.setColor(Color.MAGENTA);
        g.fillOval(centerX + 20, centerY - 60, eyeDiameter, eyeDiameter);
    }
}

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

1 comments so far (
post your own) View All Comments Latest 10 Comments:

i hope that you thought me a lot thank you!!!!

Posted by macoy on Monday, 12.1.08 @ 20:57pm | #82256

      View This Comment Separately
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification

Tell A Friend
Your Friend Name
Search Tutorials

 

 
 
Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2007. All rights reserved.