Advertisement
A7M8D

Tom

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