import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.Timer;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.imageio.*;
import java.awt.image.*;
import java.io.*;
import java.util.Scanner;
public class face extends JPanel implements Runnable, MouseListener
{
private Dimension d;
int BOARD_WIDTH=500;
int BOARD_HEIGHT=1000;
int x = 0;
private Thread animator;
BufferedImage img;
public face()
{
addMouseListener(this);
setFocusable(true);
d = new Dimension(BOARD_WIDTH, BOARD_HEIGHT);
if (animator == null ) {
animator = new Thread(this);
animator.start();
}
setDoubleBuffered(true);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.white);
g.fillRect(0, 0, d.width, d.height);
//face
Color tan = new Color(255, 243, 181);
g.setColor(tan); // yellow is a field of class Color
g.fillOval(100,100, 350, 350);
//eyes
g.setColor(Color.white);// ...so is black...
g.fillOval(175,175, 50, 50);
g.setColor(Color.white);
g.fillOval(320,175, 50, 50);
g.setColor(Color.cyan);
g.fillOval(180, 180, 35, 35);
g.setColor(Color.cyan);
g.fillOval(330, 180, 35, 35);
g.setColor(Color.black);
g.fillOval(190,190, 25,25);
g.setColor(Color.black);
g.fillOval(340,190, 25,25);
//mouth
g.setColor(Color.red);// ...and red.
g.fillOval(190,275, 175, 125);
g.setColor(tan);
g.fillOval(190,250, 175, 125);
//hair
//brown becmones a new instance of the Color class...
Color brown = new Color(101,0,0);
//...& brown can now be used as parameter in method setColor
g.setColor(brown);
g.fillOval(60,130, 75, 75);
g.fillOval(100,100, 75, 75);
g.fillOval(140,70, 75, 75);
g.fillOval(180,55, 75, 75);
g.fillOval(220,55, 75, 75);
g.fillOval(260,60, 75, 75);
g.fillOval(300,80, 75, 75);
g.fillOval(340,100, 75, 75);
g.fillOval(380,110, 75, 75);
g.fillOval(60, 140, 75, 75);
g.fillOval(60, 180, 75, 75);
g.fillOval(60, 220, 75, 75);
g.fillOval(60, 260, 75, 75);
g.fillOval(60, 300, 75, 75);
g.fillOval(400,140, 75, 75);
g.fillOval(400,180, 75, 75);
g.fillOval(400,220, 75, 75);
g.fillOval(400,260, 75, 75);
g.fillOval(400,300, 75, 75);
//nose
Color orange = new Color(255,128,0);//instance variable orange
g.setColor(orange);
g.fillOval(275,280,10, 10);
//hat
//Color purple= new Color(102,0, 102); //instance variable purple
//g.setColor(purple);
//g.fillRect(75, 75, 375, 50);
// g.fillRect(150, 25, 225, 100);
try {
img = ImageIO.read(this.getClass().getResource("hat.jpg"));
} catch (IOException e) {
System.out.println("Image could not be read");
// System.exit(1);
}
g.drawImage(img, 120,0, 355, 100, 0, 41, 235, 145,null);
//writing- keep smiling
//and to add text to the drawing...
// g.setFont (new Font("TimesRoman", Font.PLAIN, 100));
// g.drawString("Keep Smiling" , 20, 400);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
public void run() {
long beforeTime, timeDiff, sleep;
beforeTime = System.currentTimeMillis();
int animationDelay = 500;
long time =
System.currentTimeMillis();
while (true) {//infinite loop
// spriteManager.update();
repaint();
try {
time += animationDelay;
Thread.sleep(Math.max(0,time -
System.currentTimeMillis()));
}catch (InterruptedException e) {
System.out.println(e);
}//end catch
}//end while loop
}//end of run
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
}//end of class
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.