Question: draw a pikachu in java package arreyreview; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.*; import javax.swing.*; public class Pikachu extends JFrame implements MouseListener{ private
draw a pikachu in java
package arreyreview;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.*;
import javax.swing.*;
public class Pikachu extends JFrame implements MouseListener{
private static final long serialVersionUID = 1L;
public void paint(Graphics g) {
Graphics2D ga = (Graphics2D) g;
// Background
Rectangle2D.Double background = new Rectangle2D.Double (0,0,600,450);
ga.draw (background);
GradientPaint gp = new GradientPaint(100, 400, new Color (255,255,204) ,
400, 595, new Color (255,153,0), true);
ga.setPaint (gp);
ga.fill (background);
ga.fill(background);
// Ears
Polygon leftEar = new Polygon(new int[] { 95, 85, 75 }, new int[] { 150, 100, 150 }, 3);
ga.setColor(new Color(255, 204, 51));
ga.fill(leftEar);
Polygon rightEar = new Polygon(new int[] { 205, 215, 225 }, new int[] { 150, 100, 150 }, 3);
ga.setColor(new Color(255, 204, 51));
ga.fill(rightEar);
// Head
Ellipse2D.Double head = new Ellipse2D.Double(100, 70, 100, 120);
ga.setColor(new Color(255, 204, 51));
ga.fill(head);
// Eyes
Ellipse2D.Double leftEye = new Ellipse2D.Double(118, 100, 25, 30);
ga.setColor(Color.white);
ga.fill(leftEye);
ga.setColor(Color.black);
ga.draw(leftEye);
Ellipse2D.Double rightEye = new Ellipse2D.Double(157, 100, 25, 30);
ga.setColor(Color.white);
ga.fill(rightEye);
ga.setColor(Color.black);
ga.draw(rightEye);
// Pupils
Ellipse2D.Double leftPupil = new Ellipse2D.Double(126, 112, 10, 10);
ga.setColor(Color.black);
ga.fill(leftPupil);
Ellipse2D.Double rightPupil = new Ellipse2D.Double(166, 112, 10, 10);
ga.setColor(Color.black);
ga.fill(rightPupil);
// Cheeks
Ellipse2D.Double leftCheek = new Ellipse2D.Double(90, 160, 30, 20);
ga.setColor(new Color(255, 102, 102));
ga.fill(leftCheek);
Ellipse2D.Double rightCheek = new Ellipse2D.Double(180, 160, 30, 20);
ga.setColor(new Color(255, 102, 102));
ga.fill(rightCheek);
// Mouth
Line2D.Double mouth = new Line2D.Double(128, 167, 163, 167);
ga.setColor(Color.black);
ga.draw(mouth);
// Nose
Polygon nose = new Polygon(new int[] { 150, 155, 145 }, new int[] { 135, 145, 145 }, 3);
ga.setColor(new Color(204, 0, 0));
ga.fill(nose);
// Body
Ellipse2D.Double body = new Ellipse2D.Double(80, 200, 140, 160);
ga.setColor(new Color(255, 204, 51));
ga.fill(body);
// Arms
Rectangle2D.Double leftArm = new Rectangle2D.Double(60, 210, 30, 100);
ga.setColor(new Color(255, 204, 51));
ga.fill(leftArm);
Rectangle2D.Double rightArm = new Rectangle2D.Double(310, 210, 30, 100);
ga.setColor(new Color(255, 204, 51));
ga.fill(rightArm);
// Feet
Ellipse2D.Double leftFoot = new Ellipse2D.Double(105, 350, 45, 20);
ga.setColor(new Color(204, 0, 0));
ga.fill(leftFoot);
Ellipse2D.Double rightFoot = new Ellipse2D.Double(185, 350, 45, 20);
ga.setColor(new Color(204, 0, 0));
ga.fill(rightFoot);
// Tail
Path2D.Double tail = new Path2D.Double();
tail.moveTo(290, 260);
tail.quadTo(240, 300, 290, 340);
tail.quadTo(340, 300, 290, 260);
ga.setColor(new Color(255, 204, 51));
ga.fill(tail);
}
public static void main(String[] args) {
JFrame frame = new Pikachu();
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addMouseListener((MouseListener) frame);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("mouse : (" + e.getX() + ", " + e.getY() + ")");
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}

Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
