Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何重新安排代码以显示“雨”和“海报”_Java_Swing_Java 2d - Fatal编程技术网

Java 我如何重新安排代码以显示“雨”和“海报”

Java 我如何重新安排代码以显示“雨”和“海报”,java,swing,java-2d,Java,Swing,Java 2d,因此,这里我有一组代码来显示生成的多边形和背景: public class Drawing extends JFrame{ public static void main(String []args) { Drawing b = new Drawing(); } public Drawing() { //JFrame frame = new JFrame("Poster"); setSize(1180,750); setLocationRelativeT

因此,这里我有一组代码来显示生成的多边形和背景:

public class Drawing extends JFrame{
  public static void main(String []args)
  {
        Drawing b = new Drawing();
  }

public Drawing()
{
  //JFrame frame = new JFrame("Poster");
  setSize(1180,750);
  setLocationRelativeTo(null);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  getContentPane().add(new MyComponent());
  setVisible(true);

  //background
  setLayout(new BorderLayout());
  JLabel background=new JLabel(new ImageIcon("J:\\1. Current Works\\CSC533\\1. project 1.0\\bg.jpg"));
  add(background);
  background.setLayout(new FlowLayout());
}

public class MyComponent extends JComponent
{
    public void paint(Graphics g)
    {            
        /*Iron Man Part Start*/

        //Iron Man
        Graphics2D g2 = (Graphics2D)g;
        g.setColor(Color.red);//face
        g.fillOval(200,60,190,200);

        //MaskKiri
        Polygon mask1 = new Polygon();
        mask1.addPoint(230,85);//1st
        mask1.addPoint(230,200);//2nd    
        mask1.addPoint(260,255);//3rd
        mask1.addPoint(290,255);//4rd
        mask1.addPoint(290,100);//5rd
        mask1.addPoint(250,100);//6rd
        mask1.addPoint(250,85);//7rd
        g.setColor(Color.yellow);
        g.fillPolygon(mask1);

        //MaskKanan
        Polygon mask2 = new Polygon();
        mask2.addPoint(280,100);//1st
        mask2.addPoint(280,255);//2nd    
        mask2.addPoint(330,255);//3rd
        mask2.addPoint(360,200);//4rd
        mask2.addPoint(360,85);//5rd
        mask2.addPoint(340,85);//6rd
        mask2.addPoint(340,100);//7rd
        g.setColor(Color.yellow);
        g.fillPolygon(mask2);

        //Iron Man Left Eye
        g.setColor(Color.red);
        g.fillRect(240,150,40,10);

        //Iron Man Right Eye
        g.setColor(Color.red);
        g.fillRect(310,150,40,10);

        //Iron Man Fucking Mouth
        g.setColor(Color.red);
        g.fillRect(255,220,80,10);

        /*Iron Man Part End*/

        /*Flash Part Start*/

        //Flash code
        Graphics2D g3 = (Graphics2D)g;
        g.setColor(Color.red);//flash
        g.fillOval(800,50,200,200);

        //Flash eye (lebar,bawah)
        Polygon eye2 = new Polygon();
        eye2.addPoint(830,100);//1st
        eye2.addPoint(830,140);//2nd    
        eye2.addPoint(870,150);//3rd
        eye2.addPoint(870,126);//4rd
        g.setColor(Color.white);
        g.fillPolygon(eye2);

        //Flash eye (lebar,bawah)
        Polygon eye3 = new Polygon();
        eye3.addPoint(970,100);//1st
        eye3.addPoint(970,140);//2nd    
        eye3.addPoint(930,150);//3rd
        eye3.addPoint(930,126);//4rd
        g.setColor(Color.white);
        g.fillPolygon(eye3);

        //Flash mouth (lebar,bawah)
        Polygon mouth = new Polygon();
        mouth.addPoint(830,160);//1st
        mouth.addPoint(830,210);//2nd    
        mouth.addPoint(900,230);//3rd
        mouth.addPoint(900,186);//4rd
        g.setColor(Color.white);
        g.fillPolygon(mouth);

        //Flash mouth (lebar,bawah)
        Polygon mouth2 = new Polygon();
        mouth2.addPoint(970,160);//1st
        mouth2.addPoint(970,210);//2nd    
        mouth2.addPoint(900,230);//3rd
        mouth2.addPoint(900,186);//4rd
        g.setColor(Color.white);
        g.fillPolygon(mouth2);

        //Flash ear kanan (lebar,bawah)
        Polygon ear = new Polygon();
        ear.addPoint(1050,85);//1st    
        ear.addPoint(995,180);//2nd
        ear.addPoint(995,136);//3rd
        g.setColor(Color.yellow);
        g.fillPolygon(ear);

        //Flash ear2 kiri (lebar,bawah)
        Polygon ear2 = new Polygon();
        ear2.addPoint(770,85);//1st
        ear2.addPoint(805,180);//2nd
        ear2.addPoint(805,136);//3rd
        g.setColor(Color.yellow);
        g.fillPolygon(ear2);

        /* Flash Part End */

        /*Spiderman Part Start*/

        Graphics2D g4 = (Graphics2D)g;
        g.setColor(Color.red);
        g.fillOval(800,400,200,200);

        Polygon eye4 = new Polygon();
        eye4.addPoint(820,500);//1st
        eye4.addPoint(820,540);//2nd    
        eye4.addPoint(870,550);//3rd
        eye4.addPoint(870,526);//4rd
        g.setColor(Color.white);
        g.fillPolygon(eye4);

        Polygon eye5 = new Polygon();
        eye5.addPoint(980,500);//1st
        eye5.addPoint(980,540);//2nd    
        eye5.addPoint(930,550);//3rd
        eye5.addPoint(930,526);//4rd
        g.setColor(Color.white);
        g.fillPolygon(eye5);

        //String
        g.setColor(Color.black);
        g.drawLine(900,600,900,400);//tegak

        /* Spiderman Part End */

        /* Spawn Part Start */ 

        Graphics2D g5 = (Graphics2D)g;
        g.setColor(Color.black);
        g.fillOval(200,350,200,200);
        g.fillArc(200,300,200,325,170,200); 

        //left face decoration
        Polygon leftDeco = new Polygon();
        leftDeco.addPoint(295,465);//1st
        leftDeco.addPoint(280,450);//2nd    
        leftDeco.addPoint(283,465);//3rd
        leftDeco.addPoint(281,471);//4th
        leftDeco.addPoint(240,460);//5th
        leftDeco.addPoint(230,430);//6th
        leftDeco.addPoint(235,410);//7th
        leftDeco.addPoint(247,385);//8th
        leftDeco.addPoint(235,395);//9th
        leftDeco.addPoint(210,430);//10th
        leftDeco.addPoint(225,470);//11th
        leftDeco.addPoint(210,485);//12th
        leftDeco.addPoint(245,510);//13th
        leftDeco.addPoint(220,500);//14th
        leftDeco.addPoint(219,510);//15th
        leftDeco.addPoint(216,515);//16th
        leftDeco.addPoint(260,580);//17th
        leftDeco.addPoint(240,525);//18th
        leftDeco.addPoint(280,500);//19th
        leftDeco.addPoint(275,510);//20th
        leftDeco.addPoint(295,490);//21th
        leftDeco.addPoint(290,485);//22th
        g.setColor(Color.white);
        g.fillPolygon(leftDeco);           

        //right face decoration 
        Polygon rightDeco = new Polygon();
        rightDeco.addPoint(305,465);//1st
        rightDeco.addPoint(320,450);//2nd    
        rightDeco.addPoint(317,465);//3rd
        rightDeco.addPoint(319,471);//4th
        rightDeco.addPoint(360,460);//5th
        rightDeco.addPoint(370,430);//6th
        rightDeco.addPoint(365,410);//7th
        rightDeco.addPoint(357,385);//8th
        rightDeco.addPoint(365,395);//9th
        rightDeco.addPoint(390,430);//10th
        rightDeco.addPoint(375,470);//11th
        rightDeco.addPoint(390,485);//12th
        rightDeco.addPoint(355,510);//13th
        rightDeco.addPoint(380,500);//14th
        rightDeco.addPoint(381,510);//15th
        rightDeco.addPoint(384,515);//16th
        rightDeco.addPoint(340,580);//17th
        rightDeco.addPoint(360,525);//18th
        rightDeco.addPoint(320,500);//19th
        rightDeco.addPoint(325,510);//20th
        rightDeco.addPoint(305,490);//21th
        rightDeco.addPoint(310,485);//22th
        g.setColor(Color.white);
        g.fillPolygon(rightDeco); 

        //left eye
        Polygon leftEye = new Polygon(); 
        leftEye.addPoint(321,487); 
        leftEye.addPoint(367,468); 
        leftEye.addPoint(363,472); 
        leftEye.addPoint(361,485); 
        leftEye.addPoint(359,487); 
        g.setColor(Color.green); 
        g.fillPolygon(leftEye); 

        //right eye
        Polygon rightEye = new Polygon(); 
        rightEye.addPoint(279,487); 
        rightEye.addPoint(233,468); 
        rightEye.addPoint(237,472); 
        rightEye.addPoint(239,485); 
        rightEye.addPoint(241,487); 
        g.setColor(Color.green); 
        g.fillPolygon(rightEye); 

    }
  }
}
以下是运行代码时的结果:

这是我添加雨水效果后的代码:

public class Drawing extends JFrame
{
      public static void main(String []args)
      {
            Drawing b = new Drawing();
      }

    public Drawing()
    {
      final RPanel rPanel=new RPanel();
      //JFrame frame = new JFrame("Poster");
      setSize(1180,750);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      getContentPane().add(new MyComponent());
      add(rPanel); 
      setVisible(true);

      //background
      setLayout(new BorderLayout());
      JLabel background=new JLabel(new ImageIcon("J:\\1. Current Works\\CSC533\\2. project 2.0\\bg.jpg"));
      add(background);
      background.setLayout(new FlowLayout());

      //rain 
      addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                  super.windowClosing(e);
                  rPanel.stop();
                  System.exit(0);
            }
      });
    }



    public class MyComponent extends JComponent
    {
        public void paint(Graphics g)
        {            
            /*Iron Man Part Start*/

            //Iron Man
            Graphics2D g2 = (Graphics2D)g;
            g.setColor(Color.red);//face
            g.fillOval(200,60,190,200);

            //MaskKiri
            Polygon mask1 = new Polygon();
            mask1.addPoint(230,85);//1st
            mask1.addPoint(230,200);//2nd    
            mask1.addPoint(260,255);//3rd
            mask1.addPoint(290,255);//4rd
            mask1.addPoint(290,100);//5rd
            mask1.addPoint(250,100);//6rd
            mask1.addPoint(250,85);//7rd
            g.setColor(Color.yellow);
            g.fillPolygon(mask1);

            //MaskKanan
            Polygon mask2 = new Polygon();
            mask2.addPoint(280,100);//1st
            mask2.addPoint(280,255);//2nd    
            mask2.addPoint(330,255);//3rd
            mask2.addPoint(360,200);//4rd
            mask2.addPoint(360,85);//5rd
            mask2.addPoint(340,85);//6rd
            mask2.addPoint(340,100);//7rd
            g.setColor(Color.yellow);
            g.fillPolygon(mask2);

            //Iron Man Left Eye
            g.setColor(Color.red);
            g.fillRect(240,150,40,10);

            //Iron Man Right Eye
            g.setColor(Color.red);
            g.fillRect(310,150,40,10);

            //Iron Man Fucking Mouth
            g.setColor(Color.red);
            g.fillRect(255,220,80,10);

            /*Iron Man Part End*/

            /*Flash Part Start*/

            //Flash code
            Graphics2D g3 = (Graphics2D)g;
            g.setColor(Color.red);//flash
            g.fillOval(800,50,200,200);

            //Flash eye (lebar,bawah)
            Polygon eye2 = new Polygon();
            eye2.addPoint(830,100);//1st
            eye2.addPoint(830,140);//2nd    
            eye2.addPoint(870,150);//3rd
            eye2.addPoint(870,126);//4rd
            g.setColor(Color.white);
            g.fillPolygon(eye2);

            //Flash eye (lebar,bawah)
            Polygon eye3 = new Polygon();
            eye3.addPoint(970,100);//1st
            eye3.addPoint(970,140);//2nd    
            eye3.addPoint(930,150);//3rd
            eye3.addPoint(930,126);//4rd
            g.setColor(Color.white);
            g.fillPolygon(eye3);

            //Flash mouth (lebar,bawah)
            Polygon mouth = new Polygon();
            mouth.addPoint(830,160);//1st
            mouth.addPoint(830,210);//2nd    
            mouth.addPoint(900,230);//3rd
            mouth.addPoint(900,186);//4rd
            g.setColor(Color.white);
            g.fillPolygon(mouth);

            //Flash mouth (lebar,bawah)
            Polygon mouth2 = new Polygon();
            mouth2.addPoint(970,160);//1st
            mouth2.addPoint(970,210);//2nd    
            mouth2.addPoint(900,230);//3rd
            mouth2.addPoint(900,186);//4rd
            g.setColor(Color.white);
            g.fillPolygon(mouth2);

            //Flash ear kanan (lebar,bawah)
            Polygon ear = new Polygon();
            ear.addPoint(1050,85);//1st    
            ear.addPoint(995,180);//2nd
            ear.addPoint(995,136);//3rd
            g.setColor(Color.yellow);
            g.fillPolygon(ear);

            //Flash ear2 kiri (lebar,bawah)
            Polygon ear2 = new Polygon();
            ear2.addPoint(770,85);//1st
            ear2.addPoint(805,180);//2nd
            ear2.addPoint(805,136);//3rd
            g.setColor(Color.yellow);
            g.fillPolygon(ear2);

            /* Flash Part End */

            /*Spiderman Part Start*/

            Graphics2D g4 = (Graphics2D)g;
            g.setColor(Color.red);
            g.fillOval(800,400,200,200);

            Polygon eye4 = new Polygon();
            eye4.addPoint(820,500);//1st
            eye4.addPoint(820,540);//2nd    
            eye4.addPoint(870,550);//3rd
            eye4.addPoint(870,526);//4rd
            g.setColor(Color.white);
            g.fillPolygon(eye4);

            Polygon eye5 = new Polygon();
            eye5.addPoint(980,500);//1st
            eye5.addPoint(980,540);//2nd    
            eye5.addPoint(930,550);//3rd
            eye5.addPoint(930,526);//4rd
            g.setColor(Color.white);
            g.fillPolygon(eye5);

            //String
            g.setColor(Color.black);
            g.drawLine(900,600,900,400);//tegak

            /* Spiderman Part End */

            /* Spawn Part Start */ 

            Graphics2D g5 = (Graphics2D)g;
            g.setColor(Color.black);
            g.fillOval(200,350,200,200);
            g.fillArc(200,300,200,325,170,200); 

            //left face decoration
            Polygon leftDeco = new Polygon();
            leftDeco.addPoint(295,465);//1st
            leftDeco.addPoint(280,450);//2nd    
            leftDeco.addPoint(283,465);//3rd
            leftDeco.addPoint(281,471);//4th
            leftDeco.addPoint(240,460);//5th
            leftDeco.addPoint(230,430);//6th
            leftDeco.addPoint(235,410);//7th
            leftDeco.addPoint(247,385);//8th
            leftDeco.addPoint(235,395);//9th
            leftDeco.addPoint(210,430);//10th
            leftDeco.addPoint(225,470);//11th
            leftDeco.addPoint(210,485);//12th
            leftDeco.addPoint(245,510);//13th
            leftDeco.addPoint(220,500);//14th
            leftDeco.addPoint(219,510);//15th
            leftDeco.addPoint(216,515);//16th
            leftDeco.addPoint(260,580);//17th
            leftDeco.addPoint(240,525);//18th
            leftDeco.addPoint(280,500);//19th
            leftDeco.addPoint(275,510);//20th
            leftDeco.addPoint(295,490);//21th
            leftDeco.addPoint(290,485);//22th
            g.setColor(Color.white);
            g.fillPolygon(leftDeco);           

            //right face decoration 
            Polygon rightDeco = new Polygon();
            rightDeco.addPoint(305,465);//1st
            rightDeco.addPoint(320,450);//2nd    
            rightDeco.addPoint(317,465);//3rd
            rightDeco.addPoint(319,471);//4th
            rightDeco.addPoint(360,460);//5th
            rightDeco.addPoint(370,430);//6th
            rightDeco.addPoint(365,410);//7th
            rightDeco.addPoint(357,385);//8th
            rightDeco.addPoint(365,395);//9th
            rightDeco.addPoint(390,430);//10th
            rightDeco.addPoint(375,470);//11th
            rightDeco.addPoint(390,485);//12th
            rightDeco.addPoint(355,510);//13th
            rightDeco.addPoint(380,500);//14th
            rightDeco.addPoint(381,510);//15th
            rightDeco.addPoint(384,515);//16th
            rightDeco.addPoint(340,580);//17th
            rightDeco.addPoint(360,525);//18th
            rightDeco.addPoint(320,500);//19th
            rightDeco.addPoint(325,510);//20th
            rightDeco.addPoint(305,490);//21th
            rightDeco.addPoint(310,485);//22th
            g.setColor(Color.white);
            g.fillPolygon(rightDeco); 

            //left eye
            Polygon leftEye = new Polygon(); 
            leftEye.addPoint(321,487); 
            leftEye.addPoint(367,468); 
            leftEye.addPoint(363,472); 
            leftEye.addPoint(361,485); 
            leftEye.addPoint(359,487); 
            g.setColor(Color.green); 
            g.fillPolygon(leftEye); 

            //right eye
            Polygon rightEye = new Polygon(); 
            rightEye.addPoint(279,487); 
            rightEye.addPoint(233,468); 
            rightEye.addPoint(237,472); 
            rightEye.addPoint(239,485); 
            rightEye.addPoint(241,487); 
            g.setColor(Color.green); 
            g.fillPolygon(rightEye); 

        }
      }
}

class RPanel extends JPanel {
//*********SETTINGS****************************
//private float mWind = 2.05f;
//private float mGravity = 9.8f;
private float mWind = 0.55f;
private float mGravity = 1.4f;
private double mRainChance = 0.99; // from 0 to 1

private int mRepaintTimeMS = 16;
private float mRainWidth=1;
//private double mDdropInitialVelocity = 20;
private double mDdropInitialVelocity = 10;
private double mDropDiam = 2;
private Color mColor=new Color(255, 100, 50);
//*********************************************

private ArrayList<Rain> rainV;
private ArrayList<Drop> dropV;
private UpdateThread mUpdateThread;

public RPanel() {
    rainV = new ArrayList<Rain>();
    dropV = new ArrayList<Drop>();

    mUpdateThread=new UpdateThread();
    mUpdateThread.start();
}

public void stop() {
    mUpdateThread.stopped=true;
}

public int getHeight() {
    return this.getSize().height;
}

public int getWidth() {
    return this.getSize().width;
}

private class UpdateThread extends Thread {
    public volatile boolean stopped=false;
    @Override
    public void run() {
        while (!stopped) {
            RPanel.this.repaint();
            try {
                Thread.sleep(mRepaintTimeMS);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

@Override
public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D) g;
    g2.setStroke(new BasicStroke(mRainWidth));
    g2.setColor(mColor);

    //DRAW DROPS
    Iterator<Drop> iterator2 = dropV.iterator();
    while (iterator2.hasNext()) {
        Drop drop = iterator2.next();
        drop.update();
        drop.draw(g2);

        if (drop.y >= getHeight()) {
            iterator2.remove();
        }
    }

    //DRAW RAIN
    Iterator<Rain> iterator = rainV.iterator();
    while (iterator.hasNext()) {
        Rain rain = iterator.next();
        rain.update();
        rain.draw(g2);

        if (rain.y >= getHeight()) {
            //create new drops (2-8)
            long dropCount = 1 + Math.round(Math.random() * 4);
            for (int i = 0; i < dropCount; i++) {
                dropV.add(new Drop(rain.x, getHeight()));
            }
            iterator.remove();

        }
    }

    //CREATE NEW RAIN
    if (Math.random() < mRainChance) {
        rainV.add(new Rain());
    } 
}

//*****************************************
class Rain {
    float x;
    float y;
    float prevX;
    float prevY;

    public Rain() {
        Random r = new Random();
        x = r.nextInt(getWidth());
        y = 0;
    }

    public void update() {
        prevX = x;
        prevY = y;

        x += mWind;
        y += mGravity;
    }

    public void draw(Graphics2D g2) {
        Line2D line = new Line2D.Double(x, y, prevX, prevY);
        g2.draw(line);
    }
}

//*****************************************
private class Drop {

    double x0;  
    double y0;  
    double v0; //initial velocity
    double t;  //time
    double angle;
    double x;
    double y;

    public Drop(double x0, double y0) {
        super();
        this.x0 = x0;
        this.y0 = y0;

        v0 = mDdropInitialVelocity;
        angle = Math.toRadians(Math.round(Math.random() * 180)); //from 0 - 180 degrees
    }

    private void update() {
        // double g=10;
        t += mRepaintTimeMS / 100f;
        x = x0 + v0 * t * Math.cos(angle);
        y = y0 - (v0 * t * Math.sin(angle) - mGravity * t * t / 2);
    }

    public void draw(Graphics2D g2) {
        Ellipse2D.Double circle = new Ellipse2D.Double(x, y, mDropDiam, mDropDiam);
        g2.fill(circle);
    }
}
}
公共类绘图扩展JFrame
{
公共静态void main(字符串[]args)
{
图纸b=新图纸();
}
公众绘图()
{
最终RPanel RPanel=新RPanel();
//JFrame=新JFrame(“海报”);
设置大小(1180750);
setLocationRelativeTo(空);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(新的MyComponent());
添加(rPanel);
setVisible(真);
//背景
setLayout(新的BorderLayout());
JLabel background=新的JLabel(新的图像图标(“J:\\1.当前作品\\CSC533\\2.项目2.0\\bg.jpg”);
添加(背景);
setLayout(新的FlowLayout());
//雨
addWindowListener(新的WindowAdapter(){
@凌驾
公共无效窗口关闭(WindowEvent e){
超级窗口关闭(e);
rPanel.stop();
系统出口(0);
}
});
}
公共类MyComponent扩展了JComponent
{
公共空间涂料(图g)
{            
/*钢铁侠部分开始*/
//铁人
图形2d g2=(图形2d)g;
g、 setColor(Color.red);//面部
g、 圆角(200,60190200);
//马斯基里
多边形mask1=新多边形();
mask1.addPoint(230,85);//1st
mask1.addPoint(230200);//第二
mask1.addPoint(260255);//第三
mask1.addPoint(290255);/4rd
mask1.addPoint(290100);/5rd
mask1.addPoint(250100);/6rd
mask1.addPoint(250,85);/7rd
g、 setColor(颜色为黄色);
g、 填充多边形(mask1);
//马斯卡南
多边形mask2=新多边形();
mask2.addPoint(280100);//1st
mask2.addPoint(280255);//第二
mask2.addPoint(330255);//第三
mask2.addPoint(360200);/4rd
mask2.addPoint(360,85);/5rd
mask2.addPoint(340,85);/6rd
mask2.addPoint(340100);///7rd
g、 setColor(颜色为黄色);
g、 填充多边形(mask2);
//铁人左眼
g、 setColor(Color.red);
g、 fillRect(240150,40,10);
//铁人右眼
g、 setColor(Color.red);
g、 fillRect(310150,40,10);
//他妈的铁人嘴
g、 setColor(Color.red);
g、 fillRect(255220,80,10);
/*铁人部分结束*/
/*闪存部分启动*/
//闪码
图形2d g3=(图形2d)g;
g、 setColor(Color.red);//闪烁
g、 圆角(800,50200200);
//闪光眼(勒巴、巴瓦)
多边形眼2=新多边形();
eye2.addPoint(830100);//1st
eye2.addPoint(830140);//第二
eye2.addPoint(870150);//第三
eye2.addPoint(870126);/4rd
g、 setColor(Color.white);
g、 填充多边形(eye2);
//闪光眼(勒巴、巴瓦)
多边形眼3=新多边形();
eye3.addPoint(970100);//第1个
eye3.addPoint(970140);//第二个
eye3.addPoint(930150);//第三个
eye3.addPoint(930126);/4rd
g、 setColor(Color.white);
g、 填充多边形(eye3);
//闪光口(勒巴、巴瓦)
多边形口=新多边形();
mouth.addPoint(830160);//第1个
mouth.addPoint(830210);//第二
mouth.addPoint(900230);/3rd
mouth.addPoint(900186);/4rd
g、 setColor(Color.white);
g、 填充多边形(嘴);
//闪光口(勒巴、巴瓦)
多边形2=新多边形();
口2.添加点(970160);//第1
口2.添加点(970210);//第二
口2.添加点(900230);//第三
口2.添加点(900186);/4rd
g、 setColor(Color.white);
g、 填充多边形(嘴2);
//闪光耳卡南(勒巴、巴瓦)
多边形ear=新多边形();
ear.addPoint(1050,85);//第1个
ear.addPoint(995180);//第二个
ear.addPoint(995136);//第三
g、 setColor(颜色为黄色);
g、 填充多边形(耳);
//闪光耳2基里(巴伐利亚州勒巴)
多边形ear2=新多边形();
ear2.addPoint(770,85);//第1个
ear2.addPoint(805180);//第二个
ear2.addPoint(805136);//第三
g、 setColor(颜色为黄色);
g、 填充多边形(ear2);
/*闪光部分结束*/
/*蜘蛛侠部分开始*/
图形2d g4=(图形2d)g;
g、 setColor(Color.red);
g、 圆角(800400200200);
多边形眼4=新多边形();
eye4.addPoint(820500);//第1个
eye4.添加点(820540);//第二
eye4.addPoint(870550);//第三
eye4.addPoint(870526);/4rd
g、 setColor(Color.white);
g、 填充多边形(eye4);
多边形眼5=新多边形();
eye5.添加点(980500);//第1个
eye5.addPoint(980540);//第二个
eye5.addPoint(930550);//第三个
eye5.addPoint(930526);/4rd
g、 setColor(Color.white);
g、 填充多边形(eye5);
//串
g、 设置颜色(颜色为黑色);
g、 抽绳(900600900400);//tegak
/*蜘蛛侠部分结束*/
/*生成零件开始*/
图形2d g5=(图形2d)g;
g、 设置颜色(颜色为黑色);
g、 Fillova(200350200200);
g、 fillArc(200300200325170200);
//左脸装饰
多边形leftDeco=新多边形();
leftDeco.添加点(295,46
class RPanel extends JComponent {
public Drawing() {
    final RPanel rPanel = new RPanel();
    setSize(1180, 750);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    getContentPane().add(new MyComponent());

    JPanel glassPane = (JPanel) getGlassPane();
    glassPane.setLayout(new BorderLayout());
    glassPane.add(rPanel, BorderLayout.CENTER);
    glassPane.setVisible(true); 

    setVisible(true);

    // ...
  getContentPane().add(new MyComponent());
  add(rPanel); 
setLayout(new BorderLayout());
- frame
    - content pane
        - background
            - painting
JLabel background = new JLabel( new BorderLayout() );
background.setLayout( ... ):
add( background );

JComponent painting = new MyComponent();
background.add( painting );

setVisible( true );