Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mycompany.skel;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import java.awt.geom.*;
- import java.util.Random;
- public class Skel {
- public static void main(String[] args) {
- // Create a JFrame to display the panel
- JFrame frame = new JFrame("Hello");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // Create the custom panel and add it to the frame
- JPanel panel = new JApp1Panel();
- frame.getContentPane().add(panel);
- // Set frame size and make it visible
- frame.setSize(700, 700);
- frame.setVisible(true);
- }
- }
- // Custom JPanel class for drawing
- class JApp1Panel extends JPanel {
- public JApp1Panel() {
- // Set preferred size for the panel
- setPreferredSize(new Dimension(1024, 1024));
- }
- @Override
- protected void paintComponent(Graphics g) {
- super.paintComponent(g); // Always call the super method first
- Graphics2D g2 = (Graphics2D) g;
- // Draw a line (use coordinates within the panel's size)
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- GeneralPath gp = new GeneralPath();
- gp.moveTo(291,461);
- gp.curveTo(291,461,299,466,308,471);
- gp.curveTo(315,477,325,486,332,493);
- gp.curveTo(377,498,340,503,341,509);
- gp.curveTo(341,531,343,520,351,525);
- gp.curveTo(366,529,383,531,394,530);
- gp.curveTo(400,529,410,528,417,521);
- gp.curveTo(413,514,402,507,383,498);
- gp.curveTo(381,495,374,479,370,461);
- gp.curveTo(366,439,362,420,366,414);
- gp.curveTo(372,402,375,389,378,373);
- gp.curveTo(379,366,381,352,381,341);
- gp.curveTo(381,331,392,342,399,348);
- gp.curveTo(407,355,419,363,429,368);
- gp.curveTo(429,382,421,390,425,396);
- gp.curveTo(434,397,444,391,450,387);
- gp.curveTo(466,389,480,390,492,390);
- gp.curveTo(498,384,495,378,488,375);
- gp.curveTo(494,371,492,360,478,360);
- gp.curveTo(456,351,445,342,436,329);
- gp.curveTo(429,317,418,299,409,283);
- gp.curveTo(395,265,386,258,367,262);
- gp.curveTo(358,270,349,276,343,276);
- gp.curveTo(327,266,314,257,306,251);
- gp.curveTo(287,252,273,259,259,270);
- gp.curveTo(246,282,233,297,223,313);
- gp.curveTo(210,333,177,346,171,348);
- gp.curveTo(158,348,158,356,167,363);
- gp.curveTo(183,361,164,369,168,378);
- gp.curveTo(175,380,186,378,199,373);
- gp.curveTo(209,375,226,387,233,384);
- gp.curveTo(230,370,229,351,241,344);
- gp.curveTo(280,323,279,334,269,347);
- gp.curveTo(255,359,242,371,232,385);
- gp.curveTo(224,402,211,407,194,403);
- gp.curveTo(175,395,162,391,139,393);
- gp.curveTo(119,403,135,400,150,398);
- gp.curveTo(169,401,179,408,199,416);
- gp.curveTo(220,418,217,441,214,457);
- gp.curveTo(211,471,206,482,198,490);
- gp.curveTo(183,495,167,500,155,508);
- gp.curveTo(149,515,152,525,160,526);
- gp.curveTo(169,531,186,532,201,528);
- gp.curveTo(221,522,231,513,230,501);
- gp.curveTo(246,488,265,475,282,464);
- gp.closePath();
- g2.draw(gp);
- g2.setColor(new Color(200,136,37));
- g2.fill(gp);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- GeneralPath gp2 = new GeneralPath();
- gp2.moveTo(380,307);
- gp2.curveTo(380,307,375,295,369,295);
- gp2.curveTo(361,308,354,315,347,311);
- gp2.curveTo(341,299,335,293,327,302);
- gp2.curveTo(322,313,313,329,306,344);
- gp2.curveTo(297,359,289,372,281,386);
- gp2.curveTo(273,401,271,415,274,430);
- gp2.curveTo(289,446,307,451,328,448);
- gp2.curveTo(349,433,364,418,375,393);
- gp2.curveTo(380,368,381,343,382,322);
- gp2.quadTo(379,304,375,295);
- gp2.closePath();
- g2.draw(gp2);
- g2.setColor(new Color(243,231,190));
- g2.fill(gp2);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- // face
- GeneralPath gp3 = new GeneralPath();
- gp3.moveTo(345,276);
- gp3.curveTo(345,276,338,276,330,270);
- gp3.curveTo(319,263,310,254,304,251);
- gp3.curveTo(297,250,290,250,281,245);
- gp3.curveTo(270,235,261,225,253,209);
- gp3.curveTo(249,197,249,181,256,163);
- gp3.curveTo(246,165,234,164,225,151);
- gp3.curveTo(235,157,243,158,253,152);
- gp3.curveTo(257,137,255,124,251,106);
- gp3.curveTo(242,91,227,75,206,66);
- gp3.curveTo(193,68,175,82,185,61);
- gp3.curveTo(198,53,216,52,230,58);
- gp3.curveTo(271,87,288,82,327,84);
- gp3.curveTo(335,68,349,44,355,42);
- gp3.curveTo(363,45,372,52,378,62);
- gp3.curveTo(383,71,386,80,387,101);
- gp3.curveTo(391,104,402,112,414,127);
- gp3.curveTo(419,140,420,155,416,172);
- gp3.curveTo(413,185,415,195,420,201);
- gp3.curveTo(430,207,432,215,430,224);
- gp3.curveTo(423,234,413,243,401,249);
- gp3.curveTo(390,255,376,260,366,262);
- gp3.curveTo(361,268,350,274,345,277);
- gp3.closePath();
- g2.draw(gp3);
- g2.setColor(new Color(200,136,37));
- g2.fill(gp3);
- // ear
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- GeneralPath gp4 = new GeneralPath();
- gp4.moveTo(260,224);
- gp4.curveTo(260,224,253,208,249,198);
- gp4.curveTo(247,187,248,180,255,164);
- gp4.curveTo(243,166,233,162,226,152);
- gp4.curveTo(232,157,240,158,249,155);
- gp4.curveTo(256,145,257,134,256,125);
- gp4.curveTo(254,117,252,108,248,100);
- gp4.curveTo(237,85,230,78,219,70);
- gp4.curveTo(203,66,192,68,183,76);
- gp4.curveTo(174,86,173,102,173,121);
- gp4.curveTo(177,142,182,156,188,168);
- gp4.curveTo(195,180,203,192,214,203);
- gp4.curveTo(224,212,238,219,245,223);
- gp4.closePath();
- g2.draw(gp4);
- g2.setColor(new Color(239,169,184));
- g2.fill(gp4);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- // left eye white
- GeneralPath gp5 = new GeneralPath();
- gp5.moveTo(355,197);
- gp5.curveTo(355,197,358,184,358,166);
- gp5.curveTo(354,154,349,143,341,134);
- gp5.curveTo(333,127,323,126,319,130);
- gp5.curveTo(318,137,319,146,322,155);
- gp5.curveTo(325,167,331,181,337,194);
- gp5.closePath();
- g2.draw(gp5);
- g2.setColor(new Color(255,255,255));
- g2.fill(gp5);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- // right eye white
- GeneralPath gp6 = new GeneralPath();
- gp6.moveTo(391,198);
- gp6.curveTo(394,197,398,197,399,197);
- gp6.curveTo(403,197,404,190,405,186);
- gp6.curveTo(407,179,408,170,408,160);
- gp6.curveTo(406,150,403,141,398,134);
- gp6.curveTo(384,143,384,149,384,162);
- gp6.curveTo(386,176,388,185,391,197);
- gp6.closePath();
- g2.draw(gp6);
- g2.setColor(new Color(255,255,255));
- g2.fill(gp6);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- // left eye black
- GeneralPath gp7 = new GeneralPath();
- gp7.moveTo(344,195);
- gp7.curveTo(342,190,341,181,341,174);
- gp7.curveTo(344,169,347,168,350,170);
- gp7.curveTo(352,173,354,178,354,182);
- gp7.curveTo(356,186,356,191,355,197);
- gp7.closePath();
- g2.draw(gp7);
- g2.setColor(new Color(0,0,0));
- g2.fill(gp7);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- // right eye black
- GeneralPath gp8 = new GeneralPath();
- gp8.moveTo(391,197);
- gp8.curveTo(394,197,396,197,397,197);
- gp8.curveTo(398,191,399,187,399,183);
- gp8.curveTo(399,177,397,173,396,170);
- gp8.curveTo(393,168,391,170,389,174);
- gp8.curveTo(388,179,388,183,389,187);
- gp8.curveTo(390,190,391,195,391,198);
- gp8.closePath();
- g2.draw(gp8);
- g2.setColor(new Color(0,0,0));
- g2.fill(gp8);
- // upper
- GeneralPath gp10 = new GeneralPath();
- gp10.moveTo(335,195);
- gp10.curveTo(342,196,351,196,358,197);
- gp10.curveTo(365,199,370,201,374,200);
- gp10.curveTo(380,200,383,201,387,201);
- gp10.curveTo(391,198,396,196,401,197);
- gp10.curveTo(406,201,408,205,409,211);
- gp10.curveTo(407,216,404,220,398,226);
- gp10.curveTo(387,228,381,229,375,226);
- gp10.curveTo(369,229,360,230,353,230);
- gp10.curveTo(346,228,340,224,337,219);
- gp10.curveTo(338,213,338,204,336,200);
- gp10.closePath();
- g2.draw(gp10);
- g2.setColor(new Color(239,226,179));
- g2.fill(gp10);
- g2.setStroke(new BasicStroke(4));
- g2.setColor(Color.BLACK);
- // lower
- GeneralPath gp11 = new GeneralPath();
- gp11.moveTo(376,230);
- gp11.curveTo(384,230,390,228,397,227);
- gp11.curveTo(398,235,395,241,392,247);
- gp11.curveTo(389,252,384,257,377,260);
- gp11.curveTo(370,262,366,263,361,266);
- gp11.curveTo(356,271,352,274,348,276);
- gp11.curveTo(343,277,338,275,334,273);
- gp11.curveTo(328,269,320,264,312,256);
- gp11.curveTo(307,248,303,241,299,237);
- gp11.curveTo(300,218,310,219,318,221);
- gp11.curveTo(323,222,329,222,333,220);
- gp11.curveTo(336,221,340,224,343,226);
- gp11.curveTo(348,229,256,230,363,230);
- gp11.curveTo(369,229,373,228,376,230);
- // gp11.closePath();
- g2.draw(gp11);
- g2.setColor(new Color(239,226,179));
- g2.fill(gp11);
- // mouth
- GeneralPath gp9 = new GeneralPath();
- gp9.moveTo(325,223);
- gp9.curveTo(329,223,333,221,335,219);
- gp9.curveTo(339,224,343,226,348,229);
- gp9.curveTo(353,230,360,229,368,230);
- gp9.curveTo(374,227,377,228,372,234);
- gp9.curveTo(369,239,364,243,361,248);
- gp9.curveTo(359,252,356,257,351,262);
- gp9.curveTo(348,263,344,262,339,261);
- gp9.curveTo(334,256,330,250,327,245);
- gp9.curveTo(326,238,325,230,324,222);
- gp9.closePath();
- g2.draw(gp9);
- g2.setColor(new Color(0,0,0));
- g2.fill(gp9);
- // tounge
- GeneralPath gp12 = new GeneralPath();
- gp12.moveTo(351,260);
- gp12.curveTo(350,254,348,247,344,242);
- gp12.curveTo(338,238,334,238,327,234);
- gp12.curveTo(327,241,329,245,331,251);
- gp12.curveTo(335,256,340,259,345,261);
- gp12.curveTo(347,261,349,261,351,259);
- gp12.closePath();
- g2.draw(gp12);
- g2.setColor(new Color(223,74,130));
- g2.fill(gp12);
- g2.setStroke(new BasicStroke(2));
- g2.setColor(Color.BLACK);
- CubicCurve2D cu = new CubicCurve2D.Double(347,208,325,200,305,195,266,190);
- g2.draw(cu);
- CubicCurve2D cu2 = new CubicCurve2D.Double(346,214,331,212,312,212,288,214);
- g2.draw(cu2);
- CubicCurve2D cu3 = new CubicCurve2D.Double(335,195,329,192,325,188,319,184);
- g2.draw(cu3);
- CubicCurve2D cu4 = new CubicCurve2D.Double(409,210,432,212,453,214,491,225);
- g2.draw(cu4);
- CubicCurve2D cu5 = new CubicCurve2D.Double(408,208,421,201,436,195,461,189);
- g2.draw(cu5);
- CubicCurve2D cu6 = new CubicCurve2D.Double(393,136,400,125,401,116,402,96);
- g2.draw(cu6);
- CubicCurve2D cu7 = new CubicCurve2D.Double(399,134,405,128,410,123,416,108);
- g2.draw(cu7);
- CubicCurve2D cu8 = new CubicCurve2D.Double(324,126,326,115,326,106,321,94);
- g2.draw(cu8);
- CubicCurve2D cu9 = new CubicCurve2D.Double(332,125,336,120,340,115,339,96);
- g2.draw(cu9);
- GeneralPath gp13 = new GeneralPath();
- gp13.moveTo(383,218);
- gp13.curveTo(388,216,393,212,395,210);
- gp13.curveTo(395,206,391,202,386,201);
- gp13.curveTo(373,201,367,206,367,208);
- gp13.curveTo(372,212,377,215,383,218);
- gp13.closePath();
- g2.draw(gp13);
- g2.setColor(new Color(0,0,0));
- g2.fill(gp13);
- g2.setStroke(new BasicStroke(2));
- g2.setColor(Color.BLACK);
- CubicCurve2D cu10 = new CubicCurve2D.Double(181,515,170,515,162,518,160,526);
- g2.draw(cu10);
- CubicCurve2D cu11 = new CubicCurve2D.Double(379,511,388,514,396,518,400,527);
- g2.draw(cu11);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement