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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chslzj 中级黑马   /  2013-7-14 13:35  /  1342 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.awt.*;
  2. import java.applet.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;

  5. public class yanhua extends Applet implements MouseListener,Runnable
  6. {
  7.         int x,y;
  8.   int top,point;

  9. /**
  10. *对小程序进行变量和颜色的初始化。
  11. */
  12.         public void init()
  13.         {
  14.     x = 0;
  15.     y = 0;
  16.     //设置背景色为黑色
  17.     setBackground(Color.black);
  18.     addMouseListener(this);
  19.         }

  20.         public void paint(Graphics g)
  21.         {       
  22.                
  23.         }
  24.        
  25.         /**
  26.         *使该程序可以作为应用程序运行。
  27.         */
  28.         public static void main(String args[]) {
  29.     yanhua applet = new yanhua();
  30.     JFrame frame = new JFrame("TextAreaNew");
  31.     frame.addWindowListener(new WindowAdapter() {
  32.       public void windowClosing(WindowEvent e){
  33.         System.exit(0);
  34.       }
  35.     });
  36.     frame.getContentPane().add(
  37.       applet, BorderLayout.CENTER);
  38.     frame.setSize(800,400);
  39.     applet.init();
  40.     applet.start();
  41.     frame.setVisible(true);
  42.   }
  43.                
  44. /**
  45. *程序主线程,对一个烟花进行绘制。
  46. */
  47.         public void run()
  48.         {
  49.                 //变量初始化
  50.                 Graphics g1;
  51.                 g1 = getGraphics();
  52.                 int y_move,y_click,x_click;
  53.                 int v;
  54.                 x_click = x;
  55.                 y_click = y;
  56.                 y_move = 400;
  57.                 v = 3;
  58.                 int r,g,b;

  59.                 while(y_move > y_click)
  60.                 {
  61.                   g1.setColor(Color.black);
  62.                   g1.fillOval(x_click,y_move,5,5);
  63.                   y_move -= 5;
  64.                   r = (((int)Math.round(Math.random()*4321))%200)+55;
  65.                   g = (((int)Math.round(Math.random()*4321))%200)+55;
  66.                   b = (((int)Math.round(Math.random()*4321))%200)+55;
  67.                   g1.setColor(new Color(r,g,b));
  68.                   g1.fillOval(x_click,y_move,5,5);
  69.                   for(int j = 0 ;j<=10;j++)
  70.                   {
  71.                     if(r>55) r -= 20;
  72.                           if(g>55) g -= 20;
  73.                           if(b>55) b -=20;
  74.                           g1.setColor(new Color(r,g,b));
  75.                           g1.fillOval(x_click,y_move+j*5,5,5);
  76.                   }
  77.                   g1.setColor(Color.black);
  78.                   g1.fillOval(x_click,y_move+5*10,5,5);

  79.                   try
  80.                   {
  81.         Thread.currentThread().sleep(v++);
  82.       } catch (InterruptedException e) {}
  83.     }
  84.      
  85.     for(int j=12;j>=0;j--)
  86.     {
  87.             g1.setColor(Color.black);
  88.                  g1.fillOval(x_click,y_move+(j*5),5,5);
  89.                  try
  90.                   {
  91.         Thread.currentThread().sleep((v++)/3);
  92.       } catch (InterruptedException e) {}
  93.                 }
  94.                
  95.                 y_move = 400;
  96.                 g1.setColor(Color.black);
  97.                 while(y_move > y_click)
  98.                 {
  99.                   g1.fillOval(x_click-2,y_move,9,5);
  100.                   y_move -= 5;
  101.                 }
  102.                
  103.                 v = 15;
  104.                 for(int i=0;i<=25;i++)
  105.                 {
  106.                         r = (((int)Math.round(Math.random()*4321))%200)+55;
  107.                   g = (((int)Math.round(Math.random()*4321))%200)+55;
  108.                   b = (((int)Math.round(Math.random()*4321))%200)+55;
  109.                   g1.setColor(new Color(r,g,b));
  110.                         g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);
  111.                         if(i<23)
  112.                         {
  113.                                 g1.drawOval(x_click-3*(i+1),y_click-3*(i+1),6*(i+1),6*(i+1));
  114.                                 g1.drawOval(x_click-3*(i+2),y_click-3*(i+2),6*(i+2),6*(i+2));
  115.                         }
  116.                         try
  117.                   {
  118.         Thread.currentThread().sleep(v++);
  119.       } catch (InterruptedException e) {}
  120.       g1.setColor(Color.black);
  121.                         g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);
  122.       
  123.                 }
  124.                
  125.        
  126.         }
  127.        
  128. /**
  129. *对鼠标事件进行监听。
  130. *临听其鼠标按下事件。
  131. *当按下鼠标时,产生一个新线程。
  132. */
  133.         public void mousePressed(MouseEvent e)
  134.   {
  135.           x = e.getX();
  136.           y = e.getY();
  137.           Thread one;
  138.           one = new Thread(this);
  139.           one.start();
  140.           one = null;
  141.    }
  142.   /**
  143.    *实现MouseListener接中的方法。为一个空方法。
  144.   */
  145.   public void mouseReleased(MouseEvent e)
  146.   {   
  147.   }
  148.   /**
  149.   *实现MouseListener接中的方法。为一个空方法。
  150.   */
  151.   public void mouseEntered(MouseEvent e)
  152.   {
  153.   }
  154.   /**
  155.    *实现MouseListener接中的方法。为一个空方法。
  156.   */
  157.   public void mouseExited(MouseEvent e)
  158.   {
  159.   }
  160.   /**
  161.    *实现MouseListener接中的方法。为一个空方法。
  162.   */
  163.   public void mouseClicked(MouseEvent e)
  164.   {
  165.   }
  166.        
  167. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
求中间一大块的注释
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马