Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 BoardFace extends JPanel implements Runnable, MouseListener
- {
- private Dimension d;
- int BOARD_WIDTH=500;
- int BOARD_HEIGHT=500;
- boolean angry = false;
- int x = 0;
- private Thread animator;
- public BoardFace()
- {
- 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);
- //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);
- //mouth
- if(!angry){
- //face
- g.setColor(Color.yellow); // yellow is a field of class Color
- g.fillOval(100,100, 350, 350);
- g.setColor(Color.red);// ...and red.
- g.fillOval(190,275, 175, 125);
- g.setColor(Color.yellow);
- g.fillOval(190,250, 175, 125);
- //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);
- //eyes
- g.setColor(Color.blue);// ...so is black...
- g.fillOval(175,175, 50, 50);
- g.setColor(Color.blue);
- g.fillOval(320,175, 50, 50);
- //nose
- Color orange = new Color(255,128,0);//instance variable orange
- g.setColor(orange);
- g.fillOval(275,280,10, 10);
- }
- else{
- g.setColor(Color.green);
- g.fillOval(100,100, 350, 350);
- Color red = new Color(255,0,0);
- Color black = new Color(0,0,0);
- g.setColor(red);
- g.fillOval(275,280,10, 10);
- g.setColor(Color.black);
- g.fillOval(175,175, 50, 50);
- g.setColor(Color.black);
- g.fillOval(320,175, 50, 50);
- g.setColor(Color.black);
- g.fillOval(190,275, 175, 125);
- g.setColor(Color.green);
- g.fillOval(190,250, 175, 125);
- g.setColor(red);
- g.fillOval(275,280,10, 10);
- }
- //writing- keep smiling
- //and to add text to the drawing..
- g.setColor(Color.black);
- g.setFont (new Font("TimesRoman", Font.PLAIN, 100));
- g.drawString("Agnus" , 125, 70);
- 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();
- if(angry == true)
- angry = false;
- else
- angry = true;
- }
- public void mouseReleased(MouseEvent e) {
- }
- public void mouseEntered(MouseEvent e) {
- }
- public void mouseExited(MouseEvent e) {
- }
- public void mouseClicked(MouseEvent e) {
- }
- }//end of class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement