A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuming668 中级黑马   /  2015-9-18 07:19  /  1194 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
public class Fireworks extends Applet implements MouseListener,Runnable
{
  int x,y;
  int top,point;

public void init()
{
    x = 0;
    y = 0;
    //设置背景色为黑色
    setBackground(Color.black);
    addMouseListener(this);
}
public void paint(Graphics g)
{
  
}


public static void main(String args[])
  {
    Fireworks applet = new Fireworks();
    JFrame frame = new JFrame("TextAreaNew");
    frame.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e)
      {
        System.exit(0);
      }
    });
    frame.getContentPane().add(
      applet, BorderLayout.CENTER);
    frame.setSize(800,400);
    applet.init();
    applet.start();
    frame.setVisible(true);
  }
  

public void run()
{
  //变量初始化
  Graphics g1;
  g1 = getGraphics();
  int y_move,y_click,x_click;
  int v;
  x_click = x;
  y_click = y;
  y_move = 400;
  v = 3;
  int r,g,b;
  while(y_move > y_click)
  {
    g1.setColor(Color.black);
    g1.fillOval(x_click,y_move,5,5);
    y_move -= 5;
    r = (((int)Math.round(Math.random()*4321))%200)+55;
    g = (((int)Math.round(Math.random()*4321))%200)+55;
    b = (((int)Math.round(Math.random()*4321))%200)+55;
    g1.setColor(new Color(r,g,b));
    g1.fillOval(x_click,y_move,5,5);
    for(int j = 0 ;j<=10;j++)
    {
      if(r>55) r -= 20;
      if(g>55) g -= 20;
      if(b>55) b -=20;
      g1.setColor(new Color(r,g,b));
      g1.fillOval(x_click,y_move+j*5,5,5);
    }
    g1.setColor(Color.black);
    g1.fillOval(x_click,y_move+5*10,5,5);
    try
     {
        Thread.currentThread().sleep(v++);
     }catch (InterruptedException e) {}
    }
   
    for(int j=12;j>=0;j--)
    {
     g1.setColor(Color.black);
     g1.fillOval(x_click,y_move+(j*5),5,5);
    try
      {
        Thread.currentThread().sleep((v++)/3);
      } catch (InterruptedException e) {}
     }
  
  y_move = 400;
  g1.setColor(Color.black);
  while(y_move > y_click)
  {
    g1.fillOval(x_click-2,y_move,9,5);
    y_move -= 5;
  }
  
  v = 15;
  for(int i=0;i<=25;i++)
  {
    r = (((int)Math.round(Math.random()*4321))%200)+55;
    g = (((int)Math.round(Math.random()*4321))%200)+55;
    b = (((int)Math.round(Math.random()*4321))%200)+55;
    g1.setColor(new Color(r,g,b));
    g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);
    if(i<23)
   {
    g1.drawOval(x_click-3*(i+1),y_click-3*(i+1),6*(i+1),6*(i+1));
    g1.drawOval(x_click-3*(i+2),y_click-3*(i+2),6*(i+2),6*(i+2));
   }
   try
    {
        Thread.currentThread().sleep(v++);
      } catch (InterruptedException e) {}
      g1.setColor(Color.black);
   g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);
     
   }
}


public void mousePressed(MouseEvent e)
  {
   x = e.getX();
   y = e.getY();
   Thread one;
   one = new Thread(this);
   one.start();
   one = null;
   }

  public void mouseReleased(MouseEvent e)
  {  
  }

  public void mouseEntered(MouseEvent e)
  {
  }

  public void mouseExited(MouseEvent e)
  {
  }

  public void mouseClicked(MouseEvent e)
  {
  }

}

19 个回复

倒序浏览
赵存金 来自手机 中级黑马 2015-9-18 08:11:41
沙发
才学到面相对象,还看不懂。
回复 使用道具 举报
赞一个,加油
!!!
回复 使用道具 举报
评价完看看,就喜欢看 看不懂的
回复 使用道具 举报 1 0
老实说,哪里copy来的?
不过,我也copy到工具里面运行了一下,蛮有意思的。。。。
回复 使用道具 举报 1 0
还没看到这一块,有点晕
回复 使用道具 举报 1 0
不错不错,加油。
回复 使用道具 举报 1 0
有些看不懂!!!
回复 使用道具 举报 1 0
插兜 中级黑马 2015-9-19 11:34:30
9#
复制代码,果然好厉害。但是看不懂,
回复 使用道具 举报 1 0
虽然代码还不怎么看得懂,但为了效果还是得赞一个!
回复 使用道具 举报 1 0
才学到面相对象,还看不懂
回复 使用道具 举报 1 0
王鲁悦 来自手机 中级黑马 2015-9-19 13:54:14
12#
太厉害了
回复 使用道具 举报
机锋有你更精彩
回复 使用道具 举报 1 0
很好 copy运行一下
回复 使用道具 举报 1 0
真的很不错,加油啊
回复 使用道具 举报
厉害 赞一下

评分

参与人数 1黑马币 +2 收起 理由
wuming668 + 2

查看全部评分

回复 使用道具 举报
没学,看不懂
回复 使用道具 举报
江湖104 来自手机 中级黑马 2015-10-6 22:13:34
18#
很不错,加油!
回复 使用道具 举报
复制代码,看看效果,然后赞一个
回复 使用道具 举报
再续啸傲 来自手机 中级黑马 2015-12-5 12:49:47
20#
好复杂的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马